11

最小/最大の長さの値を定義した次のクラスがあります。

class MinMaxValuesUser {
    const Min_UserName = 6;
    const Max_UserName = 30;
}

以下は、ハードコーディングする代わりに最小最大値が使用される要求クラスのルールです。

public function messages() {
    return [

        "Min_UserName.min" =>  trans("Profile.Min_UserName"),
        "Max_UserName.max" =>  trans("Profile.Max_UserName")
    ];
}

public function rules() {

    return [
        "UserName" =>  "min:" . MinMaxValuesUser::Min_UserName 
                          . "|max:" . MinMaxValuesUser::Max_UserName
    ];
}

以下は、同じサーバー側クラスを使用した JQuery Validate コードです。

$('form#frmProfile').validate({
    rules: {
        UserName: {
            minlength: {!! \App\MinMaxValues\MinMaxValuesUser::Min_UserName !!},
            maxlength: {!! \App\MinMaxValues\MinMaxValuesUser::Max_UserName !!}
        }
    }
});

問題

私はたくさんのコードを書いているので、すでに Laravel に埋め込まれている Vue.js を使い始めました。ここではすべてがうまく機能します

しかし、私たちが知っているように、vue.js はフロントエンド フレームワークであり、クライアント側でロードされるため、上記のサーバー側クラスを使用して最小最大数を一元化することはできません。

この問題を解決する方法を教えてください。

4

3 に答える 3