【问题标题】:Custom validation message not working in Yii2自定义验证消息在 Yii2 中不起作用
【发布时间】:2016-11-20 19:16:38
【问题描述】:

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

['phone', 'string', 'max' => 12, 'min' => 8, 'message' => 'Please enter a valid Phone number.']

验证运行良好,但未显示自定义消息。每次都是显示此默认 yii2 消息“电话最多应包含 12 个字符。”

提前感谢您的帮助。

【问题讨论】:

    标签: php yii2 yii2-validation


    【解决方案1】:

    试试:

    更新: 如果您想使用 号码验证器,您可以使用以下内容:

    ['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.']
    

    【讨论】:

    • 如果我使用您的代码“异常(未知属性)'yii\base\UnknownPropertyException' 并带有消息'设置未知属性:yii\validators\StringValidator::tooBig'”,我会收到此异常错误我需要为它添加任何类
    • 使用数字而不是字符串..我更新了答案..请检查并告诉我它是否适合你。
    • @Chinmay 您可以编辑答案以突出显示更改吗?评论可以删除。
    • 只是一个观察,但使用数字字段存储电话号码可能不是一个好主意。保存时您将丢失前导零,并且不允许您存储可能在国际电话号码中的 + 或 () 等单词字符。我通常使用 varchar 字段。
    • @JoeMiller:我同意你的观点,因为 OP 使用了 min 和 max 属性,这就是我建议使用数字验证器而不是字符串的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 2021-02-02
    相关资源
    最近更新 更多