저는 사용자 인구 통계를 캡처하기 위해 Zend Framework로 양식을 만듭니다. 두 개의 텍스트 필드에서 숫자 유효성 검사에 어려움을 겪고 있습니다.Zend Validate Digits가 인식되지 않는 이유는 무엇입니까?
나는이 같은 ../application/forms/UserDemographics.php에 내 양식을 구축 :
class Application_Form_UserDemographics extends Zend_Form
{
public function init()
{
$this->form = new Zend_Form;
$dbAdapter = Zend_Registry::get("db");
...
$this->fax_number = new Zend_Form_Element_Text('fax_number');
$this->fax_number->setLabel('Fax Number')
->addFilter('Int')
->addFilter('StripTags')
->addValidator('Digits');
$this->mobile_number = new Zend_Form_Element_Text('mobile_number');
$this->mobile_number->setLabel('Mobile Number')
->addFilter('Int')
->addFilter('StripTags')
->addValidator('Digits');
...
}
}
내 데이터베이스는 현재 내가 있는지 여부를 테스트 할 수 있도록 fax_number 및 MOBILE_NUMBER 필드와 관련하여 다음과 같이 구성되어 있습니다 여부 숫자 허용하거나되지 않습니다 중 하나 젠드 양식의 필드 중 하나에
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
...
| fax_number | varchar(32) | NO | | NULL |
| mobile_number | int(15) | YES | | NULL |
...
내가 자리를 제외한 아무 것도 입력 할 때 - 오류 메시지가 내가 자리에 대한 검증이 모두에 추가 한 경우에도 표시되지 않습니다 집단. 숫자 만이 할 수 없다는 오류 메시지가 표시되어야 최소한
mysql> select fax_number, mobile_number from user_demographics;
+--------------------+---------------+
| fax_number | mobile_number |
+--------------------+---------------+
| var char no digits | 0 |
+--------------------+---------------+
MOBILE_NUMBER 필드 :
이 텍스트는 데이터베이스에 0 (영)으로 교체되는 휴대 전화 번호 텍스트 필드에 입력 텍스트 입력란에 입력하셨습니까?
왜 Digits 유효성 검사기가 인식되지 않는 것 같습니까?
기본적으로 Digits 유효성 검사기가 거의 무시됨을 보여줍니다. 양식이 렌더링 될 때 텍스트 필드에는 0 (제로)이 있지만 텍스트 필드에 텍스트를 입력하면 오류 메시지가 표시되지 않으며 데이터베이스에 int로 설정된 mobile_number 필드조차도 표시되지 않습니다.
알려주십시오.
- 너무 그것을보고 다른 사람을 필요로했다. 전체가 패키지 거래처럼되었고 int 필터가 중간에 붙어 있었기 때문에 int 필터를 간과했습니다. 완전히 간과되었습니다. 하지만 고마워! 잘하면 당신의 설명은 다른 사람이 물건의 흐름을 이해하는 데 도움이됩니다 :) – marienke
당신은 천만에, Enke. 다행 인 것은 다행이었습니다. –