我在jquery中使用ajax调用将用户输入从我的刀片发送到我的控制器。
我有一个输入字段
<div class="col-md-3">
<input type="text" class="form-control inputProfilePage" id="fname" name="fname" placeholder="First Name"
value="{{ Auth::user()->fname }}">
</div>
<div class="col-md-3">
<input type="text" class="form-control inputProfilePage" id="lname" name="lname" placeholder="Last Name"
value="{{ Auth::user()->lname }}">
</div>
fname用于名字,lname用于姓氏
在我的jquery中,我有一个电话
$('.selectProfilePage').change(function(){
var val = $(this).val();
var field = $(this).attr('id');
updateProfilePage(val, field);
});
字段是字段的名称,val是用户输入输入的值。
updateProfilePage是一个ajax调用
function updateProfilePage(val, field) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: 'POST',
url: '/userprofilepage',
data: {
val: val,
field: field
},
success: function (msg) {
console.log("Profile page has been updated:" + val);
},
error: function (msg) {
console.log("Profile page has not been updated:" + msg);
}
});
}
在我的路线文件中,这会调用我的商店功能。我正在努力的是如何验证用户输入的值。这是我的控制器中的商店方法
public function store(Request $request)
{
$this->validate($request, [
'val' => 'alpha'
]);
}
如果用户输入的内容不是字母,我想在我的刀片上打印出错误信息。
我将以下代码添加到我的刀片,但错误仍然没有出现
<div class="alert alert-error">
<ul>
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
那么我做错了什么?如果用户在姓氏名字的输入中输入任何非字母的内容,我想让错误显示在我的刀片中。
答案 0 :(得分:1)
每次加载页面时,服务器都会生成刀片语法,因为您在ajax中发送表单没有重新加载页面,要在警报框中添加错误,我会这样做:(未测试)
<form class="large" method="post" action="/suscript/" novalidate>
{% csrf_token %}
<fieldset>
<legend>{{ title }}</legend>
{% for field in form %}
<div class="control-group {%if field.errors %}error{%endif%}">
<div class="input-group controls">
<label class="input-group-addon control-label" id="{{field.label|safe}}">{{ field.label }}</label>
{% render_field field type="text" class="form-control" placeholder="" aria-describedby="field.label|safe" %}
</div>
{% for error in field.errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% if field.help_text %}
<p class="help-inline">{{ field.help_text|safe }}</p>
{% endif %}
</div>
{% endfor %}
</fieldset>
<div class="form-actions">
<button type="submit" class="btn btn-primary" >Submit</button>
</div>
</form>