0

$ _POST で受け取るデータを除外するにはどうすればよいですか? このフォームは、ユーザー データを変更するために使用されます。フォームは、既に記録されている彼女に属する電子メールが存在しないことを確認する必要があります。

public function __construct(Adapter $adapter)
{
    $no_record_exists = new NoRecordExists(array(
        'table'   => 'user',
        'field'   => 'email',
        'adapter' => $adapter,
        'exclude' => array(
            'field' => 'email',
            'value' => '$_POST['email']'
        )  
    ));       
    $this->add(array(
        'name' => 'email',
        'required' => true,
        'filters' => array(
            array(
                'name' => 'StripTags'
            ),
            array(
                'name' => 'StringTrim'
            )
        ),
        'validators' => array(
            $no_record_exists,
            array(
                'name' => 'EmailAddress',
                'options' => array(
                    'encoding' => 'UTF-8',
                    'min' => 5,
                    'max' => 48
                )
            ),
        )
    ));
}

}

4

2 に答える 2

0

これは、除外フィルターを含める方法です

    //include unique field validator
    $noRecordExist = new \Zend\Validator\Db\NoRecordExists(
        array(
            'table' => 'user',
            'field' => 'email',
            'adapter' => $adapter,
        )
    );
    $noRecordExist->setMessage('Email already exist');
`   $id = $_POST['id'];
    if($id > 0){
        $noRecordExist->setExclude('email != ' . $_POST['email']);
    }
    //you can add this validator to your filter chain
于 2013-06-18T04:17:40.990 に答える