kurdt94/yii2-isbn-validator

ISBN-10和ISBN-13标识符的表单验证

安装: 19

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:yii2-extension

dev-main 2023-08-28 13:11 UTC

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以获取更多详细信息。