Как создать Ajax-запрос в валидаторе Bootstrap с помощью валидации Laravel?

Я создаю форму с помощью загрузчика валидатора. И я выполняю проверку с использованием загрузчика проверки (клиент) и проверки правильности Laravel (сервер). Моя проблема в том, что я хочу выполнить ajax-запрос к laravel, чтобы проверить доступность имени пользователя.

В Laravel у нас есть такой тип проверки:

'username'              =>  'required|min:6|max:15|unique:users',

Чтобы проверить доступность имени пользователя. Теперь я хочу включить этот тип проверки в валидатор начальной загрузки.

username: {
validators: {
notEmpty: {
message: 'The username is required and cannot be empty'
},
stringLength: {
min: 6,
max: 15,
message: 'The username must be more than 6 and less than 15 characters long'
},
regexp: {
regexp: /^[a-zA-Z0-9_\.]+$/,
message: 'The username can only consist of alphabetica, number, dot and underscore'
},
remote: {
url: '' /*** how can I perform laravel validation with this?
message: 'The username is not available'
}
}
},

Как я могу это сделать? Нужно ли создавать специальный помощник для этого типа проверки? Или я могу интегрировать проверку Laravel с этим?

0

Решение

Хорошо, мне удается решить эту проблему, создав другую функцию в моем контроллере.
Вот что я сделал:

remote: {
url: "{{ URL::to('/checkUsername') }}",
data: function(validator) {
return {
username: validator.getFieldElements('username').val()
}
},
message: 'The username is not available'
}

В моем контроллере у меня есть это:

public function checkUsernameAvailability() {

$user = DB::table('authors')->where('username', Input::get('username'))->count();

if($user > 0) {
$isAvailable = FALSE;
} else {
$isAvailable = TRUE;
}

echo json_encode(
array(
'valid' => $isAvailable
));

}

Тогда это все. 🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]