我正在使用zend表单并尝试验证客户端验证。我的代码就像:
$this->addElement('text', 'email', array(
'label' => 'Email:',
'required' => true,
'class' => 'span12',
'attribs' => array(
'required' => true,
'pattern'=> "^[A-Za-z0-9._]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$"
)
));
$this->setAttrib('id', 'lead_form_creation');
$this->addElement('text', 'name', array(
'label' => 'Name:',
'required' => true,
'class' => 'span12',
'attribs' => array(
'required' => true,
'pattern' => '[a-zA-Z]{4,}'
)
));
$this->addElement('text', 'phone', array(
'label' => 'Phone:',
'required' => true,
'class' => 'span12',
'attribs' => array(
'required' => true,
'pattern' => '\d{4,}'
)
));
通过以上三个字段,我可以创建一个表单。我的代码也验证了以上三个字段。但每当我写一些有效的电子邮件地址并按Tab键时,名称字段和电话号码字段同时显示为红色。但是用户的观点应该只是名称字段。然后,如果名称未验证并按Tab键,则名称字段s以及电话字段应显示错误。
请告诉我在attrbs
属性或其他任何地方我是否需要提及的内容?
提前谢谢。
答案 0 :(得分:0)
代码中的错字(属性应该是属性):
$this->addElement('text', 'email', array(
'label' => 'Email:',
'required' => true,
'class' => 'span12',
'attributes' => array(
'required' => true,
'pattern'=> "^[A-Za-z0-9._]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$"
)
));
$this->setAttrib('id', 'lead_form_creation');
$this->addElement('text', 'name', array(
'label' => 'Name:',
'required' => true,
'class' => 'span12',
'attributes' => array(
'required' => true,
'pattern' => '[a-zA-Z]{4,}'
)
));
$this->addElement('text', 'phone', array(
'label' => 'Phone:',
'required' => true,
'class' => 'span12',
'attributes' => array(
'required' => true,
'pattern' => '\d{4,}'
)
));