このusers(mstanggota)テーブル:
Schema::create('mstanggota', function (Blueprint $table) {
$table->increments('id');
$table->string('no_anggota',10);
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
Mstbeasiswasテーブル:
Schema::create('mstbeasiswas', function (Blueprint $table) {
$table->increments('id');
$table->string('no_anggota',10)->unique();
$table->string('nm_anak',25);
$table->string('kt_lahir',25);
$table->date('ttl');
$table->String('nm_skl',50);
$table->String('st_pend',6);
$table->String('lbg_pend',6);
$table->String('prov_skl');
$table->String('jenkel',9);
$table->integer('k_umum');
$table->integer('k_khusus');
$table->integer('score')->nullable();
$table->boolean('status')->default(0);
$table->string('ket',250)->nullable();
$table->string('img1',50)->nullable();
$table->string('img2',50)->nullable();
$table->string('img3',50)->nullable();
$table->timestamps();
});
追加の検証を行いたいと思います。no_anggotaがテーブルmstbeasiswasに存在しない場合、ユーザーは登録できません。私を助けることができるものは何ですか?:(
Laravelは、どちらの方法を選択しても、確実に正常に機能します。従来のリクエストとAJAXリクエストの両方が受け入れられます。
コントローラで検証を行うか、別のクラスを作成できます。この状況では、コントローラーがひどく不明瞭になるのを避けるために、2番目のものを好みます。
検証の章を読んだことを前提としています。
$ php artisan make:request UserRegisterRequest
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|max:10',
'nickname' => 'required|max:20',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6',
'permission' => 'required|numeric',
];
}
public function attributes ()
{
return [
'name' => '姓名',
'nickname' => '綽號',
'email' => 'E-Mail',
'password' => '密碼',
'permission' => '權限',
];
}
public function response(array $errors) {
return response()->json([
'status' => false,
'errors' => $errors
]);
}
public function account_add(UserRegisterRequest $request) {
// pass the validation
}
従来のリクエストとAJAXの違いは、redirection with errors
またはを返すことができることですJSON
。この場合、JSON
リダイレクトの代わりに選択しました。フロントエンドでエラーを処理できるようにします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加