【发布时间】:2019-04-19 03:46:00
【问题描述】:
我目前正在研究休假申请系统。我有我想验证的下拉字段,如果 api 返回 false,用户无法提交应用程序。
例如如果年假不可用(getLeaveAvailability return false)应该返回错误信息。
表格:
<div class="form-group">
<label class="control-label col-md-3">Leave Type</label>
<div class="col-md-9">
<select type="text" id="leave_type" name="leave_type" required="required" class="leave_type form-control col-md-7 col-xs-12">
<option value="">Select Leave Type</option>
<option value="1">Annual Leave</option>
<option value="2">Medical Leave</option>
</select>
</div>
</div>
Jquery Ajax 验证:
var validator = form.validate({
debug: true,
rules: {
leave_type: {
required: true,
remote: {
url: base_url + "/getLeaveAvailability",
type: 'post',
dataType: 'json',
data: {
leave_id: function() {
return $('[name="leave_type"]').val();
}
}
},
// leave_type: true
},
},
messages: {
leave_type: {
remote: "Leave not available!"
}
},
API 响应:
public function getLeaveAvailability(Request $request){
return 'false';
}
【问题讨论】:
-
向我们展示实际渲染的 HTML,而不是您的 ASP 代码或其他任何内容。其次,向我们展示
/getLeaveAvailability函数,以便我们可以验证您是否以插件可以读取的格式发送回正确的数据。例如,PHP 将echo一个“true”、“false”或 JSON 编码的字符串。 -
data: { leave_id: function() { return $('select[name="leave_type"] option:selected').val(); } } -
@Sparky 我编辑了问题
-
那么服务器上有什么? PHP,ASP,等等??例如,在 PHP 中,您将使用
ECHO,而不是return。return返回上一个函数。相反,您需要输出到屏幕...例如echo。见:stackoverflow.com/questions/2977675/…
标签: jquery ajax jquery-validate