yii 框架 自定義規則客戶端驗證
阿新 • • 發佈:2018-01-30
esp 失去 屬性 sbo sid func 需要 當前 條件
前提:yii 自定義規則不能通過失去焦點驗證
view層中:設置form的3個屬性,validationUrl 可以不設置,默認為當前頁面,但是一般情況驗證不會跟提交數據在一個方法中處理
$form = zActiveForm::begin([
‘id‘=> ‘validate‘,
‘enableAjaxValidation‘=> true,
‘validationUrl‘ => \yii\helpers\Url::toRoute(‘/hotel/hotel-room/validate-form‘)]);
model層中寫驗證規則,判斷驗證條件
public function rules(){ [[‘OUTSIDE_ORDER_NO‘], ‘noRepeat‘, ‘on‘ => ‘csBook‘, ‘skipOnError‘ => true, ‘skipOnEmpty‘ => true] } public function noRepeat($attr){ //$this -> $attr 該字段需要滿足的條件 }
controller中加載數據驗證:
public function actionValidateForm(){ Yii::$app->response->format=\yii\web\Response::FORMART_JSON; // 相應數據格式處理$model = new Person(); $model->load(Yii::$app->request->post); return \yii\widgets\ActiveForm::validate($model); }
以上。。
yii 框架 自定義規則客戶端驗證