gpt4 book ai didi

php - 使 zend EmailAddress 表单验证器仅返回一条自定义错误消息

转载 作者:可可西里 更新时间:2023-10-31 22:47:37 25 4
gpt4 key购买 nike

我正在创建一个像这样的电子邮件表单元素(在 Zend 表单中):

//create e-mail element
$email = $this->createElement('text', 'username')
->setLabel('E-mail:')
->setRequired(true)
->addFilters(array('StringTrim', 'StringToLower'))
->addValidator('EmailAddress', false, array(
'messages' => array(
Zend_Validate_EmailAddress::INVALID => 'Dit e-mail adres is ongeldig.',
)
));
//add element
$this->addElement($email);

现在,当输入无效的电子邮件时,会出现很多消息:

'#' is no valid hostname for email address '@#$@#'
'#' does not match the expected structure for a DNS hostname
'#' does not appear to be a valid local network name
'@#$' can not be matched against dot-atom format
'@#$' can not be matched against quoted-string format
'@#$' is no valid local part for email address '@#$@#'

我想知道,是否可以让它只发出我提供的错误消息,例如“请输入有效的电子邮件地址。”?

最佳答案

最简单的方法是使用 addErrorMessage()为所有错误设置一条自定义消息。

在您的示例中,您可以将它添加到您的代码中并流畅地调用它,或者添加行

$email->addErrorMessage('Dit e-mail adres is ongeldig.');

您还应该将第二个参数更改为 addValidator,如下所示,这样一旦验证失败,就不会检查其他条件。

->addValidator('EmailAddress', true)

Reference Guide 中有解释但不是很好。名称 addErrorMessage 并不意味着它将覆盖默认消息,但就是这样。

关于php - 使 zend EmailAddress 表单验证器仅返回一条自定义错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6780887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com