ahmetbarut/laravel-jq-validation

v1.0.2 2021-12-10 15:56 UTC

This package is auto-updated.

Last update: 2024-09-10 21:53:15 UTC


README

使用 Laravel 和 jQuery 在不刷新页面的情况下进行验证。

安装

 composer require ahmetbarut/laravel-jq-validation

安装后立即发布服务。运行 php artisan vendor:publish 命令,然后从列表中选择 ahmetbarut\Validation\Provider\ValidationServiceProvider 的序号并确认。发布后,将 public/laravel-validation/main.js 文件包含在 view 中。

使用方法

在表单中使用

validateForm 方法接受 4 个参数,validateForm(HTMLElementSelector, requestURI, METHOD, ErrorClass)

    <form name="testform">
        ...
        
        <button onclick="validateForm('form[name=testform]', '{{ route("login") }}', 'POST',['danger'])">
    </form>

现在看看后端。如果不通过必填字段,则返回消息

use Form;
use Illuminate\Http\Request;
public function index(Request $request){
    Form::setRules([
        'username' => 'required|string',
        'password' => 'required'
    ])->make($request);

    // Ve doğrulama başarısız olursa geriye mesajları döndürelim.
    if(false !== Form::getErrors()){
        return response()->json(
            [
               'errors' => Form::getErrors()
            ], 422
        );
    }
}

示例返回:如果没有错误的表单字段,则 getErrors 返回 false,如果有,则返回输入字段和错误消息的数组。例如

    [
        0 => [
            'rule' => 'rule_adi',
            'message' => 'Hata mesajı!'
        ]    
    ]

返回消息

Form::setRules([
            'username' => 'required|string|max:35',
            'password' => 'required|integer|max:35'
        ])->setMessages([
            'username.required' => 'Kullanıcı adı alanı zorunludur!',
            'password.integer' => 'Parola alanı sayılardan oluşmalıdır '
        ])->make(
            $request
        );