首先,使用表单提交+Validate 验证 和 使用ajxa提交 +validate验证
后端不变,变化的只有html这边。
统一的后端代码
$rules = [\'username\' => \'required|max:64\',\'password\' => \'required|max:500\',];//定义提示信息$messages = [\'username.required\' => \'账号不能为空\',\'password.required\' => \'密码不能为空\',];$this->validate($request, $rules,$messages);return \'success\';
表单提交验证 html: 只需要注入下面一串代码,第一个div也可以不写 ,laravel会自动检测$errors信息,并将他显示在这串代码的位置
@if (count($errors)){{time()}}<div class=\"alert alert-danger\"><ul><li>{{ $errors->first()}}</li></ul></div><div class=\"alert alert-danger\"><ul>@foreach ($errors->all() as $error)<li>{{$error }}</li>@endforeach</ul></div>@endif
ajax提交 +validate : ajax这边需要自己处理后端返回的数据,所以要自己写js
$(\'#submit\').click(function () {$.ajax({url: \"{{route(\'login\')}}\",type: \"POST\",headers: {\'X-CSRF-TOKEN\': $(\'meta[name=\"_token\"]\').attr(\'content\')},data: $(\'#myform\').serialize(),// dataType: \"json\",success: function (data) {},error: function(data) {if (data.status === 422) {var errors = $.parseJSON(data.responseText); //转json格式,或直接使用 data.responseJSON$.each(errors, function (key, value) {$(\'#response\').addClass(\"alert alert-danger\");if ($.isPlainObject(value)) {$.each(value, function (key, value) { //这里是对每个错误进行遍历,下面选择是否弹出或者展示页面上alert(value);// $(\'#response\').show().append(value + \"<br/>\");});} else {// $(\'#response\').show().append(value + \"<br/>\"); //this is my div with messages}});}},});});