【发布时间】:2015-08-28 04:06:08
【问题描述】:
我正在使用 jQuery 模式为我的 laravel 项目创建和更新用户。创建新用户时,我会检查用户名的可用性。但是该功能不支持更新,当用户在不更改用户名的情况下保存数据时,它会给出用户名可用错误。请建议如何解决
我的控制器,
public function checkUsernameAvailability()
{
$user = DB::table('users')->where('username', Input::get('username'))->count();
if ($user > 0) {
$isAvailable = FALSE;
} else {
$isAvailable = TRUE;
}
echo json_encode(
array(
'valid' => $isAvailable
));
}
jQuery modal
username: {
validators: {
notEmpty: {
message: 'The Username field is required'
},
rules : {
username : { alphanumeric : true }
},
remote: {
url: "{{ URL::to('/checkUsername') }}",
data: function (validator) {
return {
username: validator.getFieldElements('username').val()
}
},
message: 'The Username is not available'
},
stringLength: {
max: 100,
message: 'The Username must be less than 100 characters long'
}
}
},
【问题讨论】:
-
在 ajax 请求完成时禁用保存按钮,如果结果已经被获取,或者使用全局 js 变量并在 ajax 成功时设置 true/false 并在验证中使用变量。
-
@AbdullaChozhimadathil :问题是这个功能非常适合创建新用户。但是在更新用户时,即使用户更新个人资料而不更改用户名,它也会出错,请建议
标签: javascript php jquery laravel-5