1
A
回答
1
第一步:鑑於
<?php $form = ActiveForm::begin(['enableAjaxValidation' => true]); ?>
第二步:在模型函數
public function checkCodeMeli()
{
$code_melli = $this->code_meli;
if (!preg_match('/^[0-9]{10}$/', $code_melli)) {
$this->addError('code_meli', 'کد ملی باید 10 رقم باشد');
}
for ($i = 0; $i < 10; $i++) {
if (preg_match('/^' . $i . '{10}$/', $code_melli)) {
$this->addError('code_meli', 'کد ملی صحیح وارد نشده است');
}
}
for ($i = 0, $sum = 0; $i < 9; $i++) {
$sum += ((10 - $i) * intval(substr($code_melli, $i, 1)));
}
$ret = $sum % 11;
$parity = intval(substr($code_melli, 9, 1));
if (($ret < 2 && $ret == $parity) || ($ret >= 2 && $ret == 11 - $parity)) {
return true;
}
else {
$this->addError('code_meli', 'کد ملی صحیح وارد نشده است');
}
}
第三步:規則型號
['code_meli', 'checkCodeMeli'],
第四步:在控制器
$model = new Model();
if(Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
相關問題
- 1. Yii2的ActiveForm阿賈克斯
- 2. Yii2 - 阿賈克斯的ActiveForm驗證不顯示錯誤
- 3. 驗證與jQuery的(阿賈克斯),驗證碼問題
- 4. 阿賈克斯 - 多重驗證
- 5. 驗證與阿賈克斯AutoCompleteExtender
- 6. 驗證使用JSON - 阿賈克斯
- 7. jQuery驗證之後阿賈克斯後
- 8. 實時驗證從阿賈克斯後
- 9. 阿賈克斯日曆驗證
- 10. 阿賈克斯,jQuery驗證和MVC
- 11. Yii2阿賈克斯提交不工作
- 12. Struts2的股利阿賈克斯刷新
- 13. 在阿賈克斯
- 14. 在阿賈克斯
- 15. 在阿賈克斯
- 16. 阿賈克斯
- 17. 阿賈克斯
- 18. 阿賈克斯
- 19. 阿賈克斯
- 20. 阿賈克斯
- 21. 阿賈克斯
- 22. 阿賈克斯
- 23. jQuery驗證阿賈克斯犯規重新驗證
- 24. 阿賈克斯調用不在阿賈克斯工作
- 25. 多種形式與驗證碼 - 阿賈克斯錯誤提交
- 26. 阿賈克斯驗證碼後,將其插入數據庫
- 27. 的Javascript:在阿賈克斯
- 28. 與阿賈克斯
- 29. 阿賈克斯valueChangeListener
- 30. 從阿賈克斯