假设我有两种类型的实体(A
和B
)具有相同的属性ends_at
。
在我的lang文件中,我想为ends_at提供两条消息,具体取决于它是指A还是B.
我试过了:
'custom_rule' => 'Default message',
'custom' => array(
'A.ends_at' => [ 'custom_rule' => 'Message for A' ],
'B.ends_at' => [ 'custom_rule' => 'Message for B' ]
),
但它不起作用;它会显示默认消息。
您知道如何在不更改属性的情况下仅显示相应的消息吗?
答案 0 :(得分:0)
当您进行验证时,最好的方法是创建验证服务,然后您可以为规则定义默认的lang消息,并且还可以获取这些规则实例的消息。以下是登录表单验证的基本示例:
class Login extends Validator {
public static $rules = [
'email' => 'required|email',
'password' => 'required|numeric',
];
public static $messages = [
'email.required' => 'Please enter an email address.',
'email.email' => 'Please enter a valid email address.',
'password.required' => 'Please enter a password.',
];
}
在这里查看Jeffrey Way的精彩视频教程:https://tutsplus.com/lesson/validation-services/
它会引导您在大约10分钟内创建服务(跳过基本验证信息到大约10分钟即可立即开始验证服务)。