여기 바나나가 있습니다. 두 개의 필드가 포함 된 간단한 양식을 만들었습니다. 하나는 텍스트 필드이고, 다른 하나는 텍스트 영역입니다. 양식은 좋아 보이지만 내가 무엇을 시도하든 상관없이 나는 검증하지 않을 것입니다. 양식은 항상 유효Zend 2 - 유효성 검사기 및 필터를 사용자 정의 폼에 추가하십시오.
class MyForm extends Form
{
public function __construct()
{
parent::__construct();
$this->add(array(
'name' => 'subject',
'required' => true,
'allowEmpty' => false,
'options' => array(
'label' => 'Betreff*',
),
'type' => 'Zend\Form\Element\Text',
'validators' => array(
// validators for field "name"
new \Zend\Validator\NotEmpty(),
),
'filters' => array(
// filters for field "name"
array('name' => 'Zend\Filter\StringTrim'),
),
));
$this->add(array(
'name' => 'text',
'required' => true,
'allowEmpty' => false,
'options' => array(
'label' => 'Nachricht*',
),
'type' => 'Zend\Form\Element\Textarea',
));
$this->add(new Element\Csrf('security'));
}
}
valdiators
및 filters
내가 노력 많은 것들 중 하나입니다 ... 여기 내 컨트롤러에서
: 여기
은 내 양식 클래스입니다$form = new MyForm();
$request = $this->getRequest();
if ($request->isPost()) {
$form = new MyForm();
$form->setData($request->getPost());
echo $form->isValid();
if($form->isValid()) { ... }
나는 항상 if
을 전달합니다.
나는 왜 required=true
을 설정할 때 검사기가 필요합니까? 아무 것도하지 않을 때 왜 그런 속성을 구현합니까?
하지만 여전히 : 양식을 확인하려면 어떻게해야합니까? 방금 trim
및 NotEmpty
검사기와 같은 clenup 필터가 필요합니다.
감사합니다.
당신은 내 검증 작업을 할 몇 가지 코드를 게시하시기 바랍니다 수 있습니까? 나는 나머지에 대해 정말로 신경 쓰지 않는다 :) 고마워요! 추신 : 당신이 할 경우, 다음에 충분한 담당자가 있다고 약속합니다.) – Ron
몇 분 후에 코드를 작성하겠습니다. –
VERY에 대한 링크가있는 이전 질문을 발견했습니다. 큰 클래스 ...하지만 가능하면 기존 코드에 몇 줄을 추가하고 싶습니다. [대답] (http://stackoverflow.com/a/14212240/1331671) – Ron