1. 程式人生 > >yii 框架 自定義規則客戶端驗證

yii 框架 自定義規則客戶端驗證

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 框架 自定義規則客戶端驗證