-1

backbone.syphone データをシリアル化してサーバーに保存するために 使用しています。

「Fancy Javascript」を使用せずにエラーを処理したり、サーバーに送信する前に日付を検証したりする最良の方法は何だろうと思っています。

PS

すべてのフィールドが空でないことを確認するだけです。

ここに私のコードがあります:

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 に答える