Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend验证程序和错误消息:addValidator和addErrorMessage_Php_Zend Framework_Zend Form_Zend Form Element - Fatal编程技术网

Php Zend验证程序和错误消息:addValidator和addErrorMessage

Php Zend验证程序和错误消息:addValidator和addErrorMessage,php,zend-framework,zend-form,zend-form-element,Php,Zend Framework,Zend Form,Zend Form Element,如果有一个表单元素附加了多个验证器(本例中为3),那么当每个唯一验证器失败时,如何使用addErrorMessage创建自定义错误消息。有没有办法为每个验证器添加自定义消息 $element = new Zend_Form_Element_Text()... $element->.... ->addValidator(...) ->addValidator(...) ->addValidator(...) -

如果有一个表单元素附加了多个验证器(本例中为3),那么当每个唯一验证器失败时,如何使用
addErrorMessage
创建自定义错误消息。有没有办法为每个验证器添加自定义消息

$element = new Zend_Form_Element_Text()...
$element->....
        ->addValidator(...)
        ->addValidator(...)
        ->addValidator(...)
        ->addErrorMessage()

通常,它是根据验证程序错误消息执行的,而不是根据验证程序执行的

$element->setErrorMessages(array(Zend_Validate_...::CONSTANT => 'New Message'));
但我通常更喜欢将一个元素的所有错误覆盖到一个元素

$element->setErrorMessages(array('Single Error'));
或者,如果我每个验证器都需要它,这就行了

$validator->setMessages('string error')
应将验证程序的所有错误覆盖为一条消息。我在任何地方都找不到这个文档,但它对我很有用。因此,它可能不适用于所有版本

对我来说,错误消息的处理有点混乱,除非你想覆盖每一条可能的错误消息,但希望这些解决方案中有一个适合你


干杯

将您的邮件与验证程序一起添加,如下所示。 例如:

->addValidator('StringLength', false, array(0,255,'messages'=>'Cannot be more than 255 chars'))

->addValidator('NotEmpty', true, array('messages'=>'Cannot be empty'))

像这样添加您的消息

->addValidator('Alpha',true,数组('messages'=>array('notAlpha'=>“请仅在产品名称中输入字母字符)。
”)

根据错误字符串添加验证器消息(“您的自定义消息”);这也是打印自定义消息的最简单方法

addErrorMessage在libraray/zend/Form/Elements.php中定义


希望能有帮助

我喜欢通过“notAlpha”指定的消息处理。您能告诉我在哪里可以找到其他验证器的更多标识符吗?无论如何,谢谢:^)您可以从其验证文件中找到这些不同的错误消息。转到下面的路径project/library/Zend/Validate选择您的验证规则,在这里您可以找到用于错误消息的“const”列表我有一些传统错误,但使用第一个验证无法工作