-1

我正在使用backbone.syphone 序列化数据并将它们保存到服务器。

我想知道在不使用“Fancy Javascript”的情况下处理错误或验证日期以将它们发送到服务器的最佳方法是什么。

附言

我只需要检查所有字段是否为空。

这是我的代码:

var myView = Backbone.View.extend({

    submitData: function (event) {
        event.preventDefault();
        var data = backboneSyphon.serialize(this);
        myModel.save(data, {
            success: function () {
            },
            error: function () {
            }
        }
    }
4

3 回答 3

1

如果您不想使用花哨的 javascript 代码,
在您的情况下,由于您使用的是 Backbone,
我建议您使用backbone.validation。

这是该库的链接:backbone.validation

于 2012-07-16T19:42:38.967 回答
1

除非您想做纯粹的服务器端验证,否则您将不得不使用一些Javascript 来进行验证;我不太清楚你所说的“花哨”是什么意思。由于您使用的是 Backbone,这很可能意味着您使用的是 jQuery(嗯,或者 Zepto),所以我认为 jQuery 是在“花哨”范围内;-)

使用 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)
于 2012-07-16T16:39:49.457 回答
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>
于 2012-07-16T18:19:04.260 回答