Php 自定义验证消息在Yii2中不起作用

Php 自定义验证消息在Yii2中不起作用,php,yii2,yii2-validation,Php,Yii2,Yii2 Validation,我想显示电话号码最大长度和最小长度的自定义验证消息。 我写这段代码是为了显示电话号码字段的最大长度和最小长度的自定义验证消息 ['phone', 'string', 'max' => 12, 'min' => 8, 'message' => 'Please enter a valid Phone number.'] 验证工作正常,但未显示自定义消息。everytime is显示此默认yii2消息“手机最多应包含12个字符。” 提前感谢您的帮助。请尝试: 更新: 如果要使用数字

我想显示电话号码最大长度和最小长度的自定义验证消息。 我写这段代码是为了显示电话号码字段的最大长度和最小长度的自定义验证消息

['phone', 'string', 'max' => 12, 'min' => 8, 'message' => 'Please enter a valid Phone number.']
验证工作正常,但未显示自定义消息。everytime is显示此默认yii2消息“手机最多应包含12个字符。”

提前感谢您的帮助。

请尝试:

更新: 如果要使用数字验证器,可以使用以下选项:

['phone', 'number', 'max' => 12, 'min' => 8, 'tooBig' => 'Please enter a valid Phone number.', 'tooSmall' => 'Please enter a valid Phone number.']
['phone', 'string', 'max' => 12, 'min' => 8, 'tooLong' => 'Please enter a valid Phone number.', 'tooShort' => 'Please enter a valid Phone number.']
如果要使用字符串验证程序,可以使用以下选项:

['phone', 'number', 'max' => 12, 'min' => 8, 'tooBig' => 'Please enter a valid Phone number.', 'tooSmall' => 'Please enter a valid Phone number.']
['phone', 'string', 'max' => 12, 'min' => 8, 'tooLong' => 'Please enter a valid Phone number.', 'tooShort' => 'Please enter a valid Phone number.']

请将字符串更改为长度

    ['phone', 'length', 'max' => 12, 'min' => 8, 'message' => 'Please enter a valid Phone number.']
谢谢你的推荐


如果我使用您的代码“Exception(Unknown Property)”“yii\base\Unknown Property Exception”并显示消息“Setting Unknown Property:yii\validators\StringValidator::tooBig”,则希望它会有所帮助。

我遇到此异常错误。我是否需要为iTunes编号而不是字符串包含任何类。。我更新了答案。。请检查并让我知道它是否适合您。@Chinmay您可以编辑答案以突出显示更改吗?评论可以删除。只是一个观察,但使用数字字段存储电话号码可能不是一个好主意。您在保存时将丢失前导零,并且它不允许您存储国际电话号码中的+或()等字字符。我通常使用varchar字段。@JoeMiller:我同意你的看法,因为OP使用了min和max属性,这就是我建议使用数字验证器而不是字符串的原因。OP已将此问题标记为Yii 2.*,因此指向Yii 1.1文档的链接是多余的。