我使用backbone.syphone
来序列化数据并将其保存到服务器。
我想知道在不使用“Fancy Javascript”的情况下,将它们发送到服务器之前处理错误或验证日期的最佳方法是什么。
P.S。
我只需检查所有字段是否为空。
这是我的代码:
var myView = Backbone.View.extend({
submitData: function (event) {
event.preventDefault();
var data = backboneSyphon.serialize(this);
myModel.save(data, {
success: function () {
},
error: function () {
}
}
}
答案 0 :(得分:1)
除非您想进行纯服务器端验证,否则 使用某些 Javascript进行验证;我并不完全确定你的意思是什么"幻想"。由于你正在使用Backbone,这很可能意味着你正在使用jQuery(好吧,或者Zepto),所以我认为jQuery在" fanciness"边界; - )
使用jQuery,我能想到的最简单的JS就像:
var failed;
$('#yourForm :input').each(function(input) {
if (!$(input).val()) {
alert("You need to fill in " + input.name);
failed = true;
return false;
}
}
// Do whatever else you want to do if (failed)
答案 1 :(得分:1)
如果你不想使用花哨的javascript代码,
在你的情况下,因为你使用Backbone,
我建议你使用backbone.validation。
以下是此库的链接:backbone.validation
答案 2 :(得分:0)
这是一个“非奇特的javascript”:)
<!DOCTYPE html>
<title></title>
<form id="form" method="post" action="someform.php">
<input id="name" name="Name" value="Name*">
<input type="submit" value="">
</form>
<script>
window.onload = function () {
var yourForm = document.getElementById('form'),
yourInput = document.getElementById('name');
yourForm.onsubmit = function () {
if(yourInput.value == yourInput.defaultValue || yourInput.value == '') {
alert('You must write something');
return false;
}
}
}
</script>