更改Yii自定义表单验证程序错误消息{attribute}

1 yii

我可以通过我的模型中的这些代码更改表单验证器错误消息:

array('name, email, subject, body', 'required'
                        'message'=>'Please enter a value for {attribute}.'),
Run Code Online (Sandbox Code Playgroud)

但我不知道{attribute}来自哪里以及如何为每个字段更改它,所以任何帮助都将受到赞赏.

Mic*_*rtl 5

我不确定我是否理解你的问题,但你问的问题{attribute}来自:

一些验证器引入了像{attribute}您的示例中的占位符.如果验证失败,它们将替换为属性名称.所以,如果没有name被输入你的message'Please enter a valid {attribute}.'错误信息将是" 请输入有效的名称 ".

虽然{attribute}占位符可以与每个验证器一起使用,但其中一些可以引入更多的占位符.例如,CStringValidator您可以使用{min},{max}{length}.它们将分别替换为最小,最大精确字符的数量.

这是一个例子:

array('firstname,lastname', 'string', 'min'=>3, 
    'tooShort'=>'Your {attribute} must contain at least {min} letters.'
),
Run Code Online (Sandbox Code Playgroud)

如果用户输入少于3个字母,这将给出" 您的名字必须包含至少3个字母. " 这样做的好处是,如果更改min参数,您的消息将自动更新.所以它不容易出错.