モデルの検証ルールに合格していないフォームを送信したため、JavaScriptのアラートname field is required
がOctoberCMSのAJAXフレームワークによってスローされます。
ユーザーモデルを確認してください。name
フィールドが必要になることがあります。
public $rules = [ 'name' => 'required' ]; // no name was supplied
ここでは2つのオプションがあります。 JS
を使用して提出する前に、
検証フォームデータ
$('button.submit').click(function(e){
e.preventDefault(); // prevent submission
// check Form fields are valid
// then Submit form using the AJAX API - OnCreateUser
$.request('onCreateUser', {
data: {name : ..., surname: ....}, // Data Object
error: function(jqXHR, textStatus, error){
// handle errors..
}
});
});
- ウルサイトの
使用グローバルAJAXハンドラ - ポップアップが表示されませんが、あなたはこれらのイベントを処理する必要があるとユーザーに警告します
$window.on('ajaxErrorMessage', function(event, message){
// ....
event.preventDefault();
});
$window.on('ajaxError', function(event, context, status,jqXHR){
// ....
event.preventDefault();
});
また、あなたがあなたのコンピュータでvalidatorクラスを使用することをお勧めしますオンデマンドで送信されたデータをチェックする - カスタム検証ルール/メッセージを追加することもできます
public function onCreateUser()
{
if (Request::ajax()) {
$customMessages = [
'name.required' => 'Name Field is required',
'email.required' => 'Email field is required',
];
$customAttributes = [
'email' => 'Email',
'name' => 'Name',
];
$data = post();
$rules['name'] = 'required';
$rules['email'] = 'required';
$validation = Validator::make($data, $rules,$customMessages, $customAttributes);
if ($validation->fails()) {
$messages = json_encode($validation->messages(), true);
throw new ValidationException(array(
'title' => 'Error Creating User',
'message' => $messages
));
}
..........
}
}