我想在错误消息中显示客户名称而不是客户ID。
如何实现这一目标?
以下是我模型中的关系
public function getCustomer() {
return $this->hasOne(Customer::className(), ["id" => "customer_id"]);
}
模型验证规则,此处出现错误消息,我必须设置客户名称,
public function rules()
{
return [
['customer_id','unique','message'=>'Customer **{here i have to set customer name}** already exist in rd pool'],
];
}
答案 0 :(得分:0)
对此建议使用服装验证
首先在模型类的规则函数中声明服装验证函数
return [
['id', 'validateID', 'when'=> function($model){
return (!empty($model->id))? true:false;
},],
......
];
然后在同一模型中创建名为validateId
的公共函数public function validateId($attribute, $params, $validator)
{
$id = $this->id;
{ here you can write code to check}
if(condition check)){
$this->addError('id', "Coustumer $userName booking start date");
return false;
}
}
然后添加' enableAjaxValidation' =>是的,形式
<?php $form = ActiveForm::begin([
'enableAjaxValidation' => true
]); ?>
最后在Controller中验证模型的验证,如
if($request->isAjax && $model->load($request->post())){
yii::$app->response->format = 'json';
return ActiveForm::validate($model);
}
如果您有些困惑请参考
http://www.yiiframework.com/doc-2.0/guide-input-validation.html#creating-validators