表单验证

或许很多人都苦恼过,yii2的表单验证错误信息都是英文的,哪怕自定义验证消息,{attribute} 也是英文的,这个问题其实框架本身就能解决。

先来看一个例子:

public function rules()
{
    return [
        [['username','name','password'],'required']
    ];
}

这是我定义的一条规则,没有使用自定义错误信息也能实现"中文提示"

用户名不能为空
姓名不能为空
密码不能为空

实现方法分两部

国际化

首先,错误信息是可以翻译成不同语言的,yii2本身提供了国际化支持,我们只要在配置文件中加上

'language' => 'zh-CN'

就可以发现错误信息变成了

username不能为空
name不能为空
...

定义label名

现在唯一的问题就是字段名还是英文的,这个通过在模型中定义一个方法,给每个字段起一个别名

public function attributeLabels()
{
    return [
        'username' => '用户名',
        'name' => '姓名',
        'password' => '密码',
        'email' => '邮箱',
        'phone' => '电话'
    ];
}

ok,现在就可以实现完全本地化的中文提示了,并不用罗里吧嗦给每个字段定义一条错误消息。

转载于:https://my.oschina.net/cxz001/blog/663682

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值