kurdt94 / yii2-isbn-validator
ISBN-10和ISBN-13标识符的表单验证
dev-main
2023-08-28 13:11 UTC
Requires
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2024-09-28 15:34:17 UTC
README
此扩展将ISBN-10 / ISBN-13表单验证作为一个独立的验证器添加到Yii2框架中。
安装
安装此扩展的首选方法是通过composer。
运行以下命令:
$ php composer.phar require kurdt94/yii2-isbn-validator "@dev"
或者在您的composer.json
文件的require
部分添加以下内容:
"kurdt94/yii2-isbn-validator": "@dev"
使用
此扩展扩展了yii\validators\Validator
类,以验证ISBN-10或ISBN-13标识符。可以使用别名k-isbn
在模型规则中应用IsbnValidator
类。在这个例子中,我们验证了"isbn_number"字段
use yii\db\ActiveRecord; class BooksModel extends ActiveRecord { /** * @return array the validation rules. */ public function rules() { return [ //... [['isbn_number'], 'k-isbn'], ]; } }
Ajax验证
推荐使用AjaxValidation。这可以通过ActiveForm的enableAjaxValidation
属性来实现。
echo $form->field($model, 'isbn_number', ['enableAjaxValidation' => true]);
或者如果您希望在表单上启用AjaxValidation。
echo $form = ActiveForm::begin(['id' => 'books-form', 'enableAjaxValidation' => true,]);
请记住在控制器动作中设置Ajax响应。如果请求isAjax
并且我们可以load($_POST)
,则返回\yii\widgets\ActiveForm::validate($model)
。
$model = new Books(); if (Yii::$app->request->isAjax && $model->load($_POST)) { Yii::$app->response->format = 'json'; return \yii\widgets\ActiveForm::validate($model); }
许可协议
此扩展在BSD-3-Clause License下发布。请阅读LICENSE.md
以获取更多详细信息。