Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js中的验证_Javascript_Asp.net Mvc 3_Backbone.js - Fatal编程技术网

Javascript Backbone.js中的验证

Javascript Backbone.js中的验证,javascript,asp.net-mvc-3,backbone.js,Javascript,Asp.net Mvc 3,Backbone.js,因此,我使用backbone.js一次获取多个条目以获取特定的数据位。这些数据最终将形成一个时间表。我现在需要做的是弄清楚如何不断地检查输入到一个itemview中的三个数据字段是否在另一个itemview中重复 这是密码 <div class="grid_16 lb-bg"> <div class="clearfix form-box bot-p bot-m"> <div > <label for="ClassTimes[{{ count }}].

因此,我使用backbone.js一次获取多个条目以获取特定的数据位。这些数据最终将形成一个时间表。我现在需要做的是弄清楚如何不断地检查输入到一个itemview中的三个数据字段是否在另一个itemview中重复

这是密码

<div class="grid_16 lb-bg"> <div class="clearfix form-box bot-p bot-m">
 <div >
 <label for="ClassTimes[{{ count }}].ClassId">Class</label>    <br/>
<select id="ClassTimes[{{ count }}].ClassId" name="ClassTimes[{{ count }}].ClassId" class="ClassList" style="Width: 20%">
    @foreach (var c in Model.Classes)
    {
        <option value="@c.Value">@c.Text</option>
    }
</select>
</div>
<div >
<label for="ClassTimes[{{ count }}].RoomId">Room</label>    <br/>
<select id="ClassTimes[{{ count }}].RoomId" name="ClassTimes[{{ count }}].RoomId" style="Width: 20%">
    @foreach (var c in Model.Rooms)
    {
        <option value="@c.Value">@c.Text</option>
    }
</select>
</div>
<div >
<label for="ClassTimes[{{ count }}].SessionId">Class Session</label>    <br/>
<select id="ClassTimes[{{ count }}].SessionId" name="ClassTimes[{{ count }}].SessionId" class="SessionList MakeWide" style="Width: 20%">
    @foreach (var c in Model.Sessions)
    {
        <option value="@c.Value">@c.Text</option>
    }
</select>
</div>
<div >
<label for="ClassTimes[{{ count }}].DayId">Day</label>    <br/>
<select id="ClassTimes[{{ count }}].DayId" name="ClassTimes[{{ count }}].DayId" class="MakeWide" style="Width: 20%">
    @foreach (var c in Model.Days)
    {
        <option value="@c.Value">@c.Text</option>
    }
</select>
</div>
因此,这段代码是采取了一些类和会议,房间和一周的一天

我的验证需要确保在同一会话的同一天,没有为同一会话选择两个类


我将如何设置事件或我将使用的任何东西,以查看在上一个itemview中选择了哪些数据?

很难说没有看到您的任何主干co,但如果您正在寻找模型验证,请让我先看看我自己的软件:

它是主干.Model类的混入,允许您向模型中添加通用验证测试,并在验证失败时实现默认值(这也将触发
错误
消息)


您可以对两个视图使用相同的模型并进行验证,这样可以确保值在两个视图中都可用,并且经过验证

很难说没有看到你的主干网公司,但是如果你想在模型上验证,让我来说说我自己的软件:

它是主干.Model类的混入,允许您向模型中添加通用验证测试,并在验证失败时实现默认值(这也将触发
错误
消息)


您可以对两个视图使用相同的模型并进行验证,这样可以确保值在两个视图中都可用,并且经过验证

我决定不尝试在客户端进行验证,而是在代码隐藏中进行验证。在控制器中,我检查了传入列表中的任何此类冲突,并在找到任何此类类时向表单返回错误通知。效果很好。我正在努力突出显示冲突项。

我决定不尝试在客户端进行验证,而是在代码中进行验证。在控制器中,我检查了传入列表中的任何此类冲突,并在找到任何此类类时向表单返回错误通知。效果很好。我正在努力突出显示冲突的项目。

是否
ClassTimes
是主干集合?它似乎是一个数组。这些元素是否在
ClassTimes
主干模型中?我之所以问这个问题,是因为你没有使用
model.escape(“RoomId”)
ClassTimes
的主干集合吗?它似乎是一个数组。这些元素是否在
ClassTimes
主干模型中?我之所以这么问,是因为您没有使用
model.escape(“RoomId”)
window.CreateAssign = (function () {
    var CreateAssign = {};

    var subs = new Array();
    //The next of kin item list view
    AssignItemView = Backbone.View.extend({
        tagName: 'div',
        initialize: function () {
            //bindall
            _.bindAll(this, 'render');

            this.template = _.template($('#SFTemplate').html());

            this.render();
        },
        render: function () {
            $(this.el).html(this.template({
                count: subs.length
            })).fadeIn();
            return this;
        }

        ,
        remove: function () {
            $(this.el).fadeOut('fast', function () {
                $(this).remove();
            });
            return false;
        }
    });

    function subUpdated() {
        if (subs.length > 0) {
            $('#removeassign').fadeIn();
        }
        else {
            $('#removeassign').fadeOut();
        }
    }

    CreateAssign.Init = function () {
        $('#addassign').click(function () {
            var item = new AssignItemView();
            subs.push(item);
            $('#classlist').prepend($(item.el).fadeIn('fast'));
            subUpdated();
            return false;
        });

        $('#removeassign').click(function () {
            if (subs.length > 0) {
                subs.pop().remove();
            }
            subUpdated();
            return false;
        });
    };
    return CreateAssign;
})(this, this.document);

$(function () {
    CreateAssign.Init();
});