مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

karolin

عضویت از 1394/10/16

اعتبارسنجی در اسکریپت

  • یکشنبه 23 مهر 1396
  • 10:47
تشکر میکنم

با سلام -من در قسمتی از ویو با استفاده از یک اسکریپت به نام addbox  دو فیلد را به صورت textbox  اضافه میکنم

در حالت اول

    <div class="form-group">
                    <div class="input-field col s5">

                        @Html.TextBoxFor(model => model.Imeiz, new { @class = "materialize-textarea", @Id = "textarea1", @tabindex = "2" })
                        <label for="textarea1" style="font-size:17px;">
                            <i class="material-icons">phone_android</i>
                            Imei number
                        </label>
                        <br />
                        @Html.ValidationMessageFor(t => t.Imeiz)
                    </div>
                </div>
                <a id="btnAdd" value="Add" onclick="AddTextBox()" class="btn-floating btn-large waves-effect">+</a>
         
            </div>



    function GetDynamicTextBox(value) {
        var div = $("<div />").addClass("row");

        var SecondDiv = $("<div />").addClass("input-field col s5");


        var iTag = $("<i />").addClass("material-icons prefix").text("edit");
        SecondDiv.append(iTag);

        var textBox = $("<input />").attr("type", "text").attr("id", "DynamicTextBox1").attr("name", "DynamicTextBox").addClass("materialize-textarea").prop('required', true);
        textBox.val(value);


        SecondDiv.append(textBox);

        var lbl = $("<label />").text("Job Order").prop("for", "DynamicTextBox1");

        SecondDiv.append(lbl);


        div.append(SecondDiv);


        var ThirdDiv = $("<div />").addClass("input-field col s5");
        var iTag2 = $("<i />").addClass("material-icons prefix").text("phone_android");
        ThirdDiv.append(iTag2);

        var textBox2 = $("<input />").attr("type", "text").attr("id", "DynamicTextBox").attr("name", "DynamicTextBox").addClass("materialize-textarea").prop('required', true);
        textBox2.val(value);

        ThirdDiv.append(textBox2);

        var lbl2 = $("<label />").text("Imei number").prop("for", "DynamicTextBox");

        ThirdDiv.append(lbl2);

        div.append(ThirdDiv);
        var button = $("<a />").text("X").attr("value", "Remove").addClass("btn-floating btn-large waves-effect");
        button.attr("onclick", "RemoveTextBox(this)");
        div.append(button);
        return div;
    }
    function AddTextBox() {
        var div = GetDynamicTextBox("");
        $("#TextBoxContainer").append(div);
    }

 اعتبار سنجی فیلدها به درستی انجام میشود.اما وقتی همین فیلدها را از طریق دکمه مربوط به اسکریپت به صفحه اضافه می کنیم اعتبارسنجی انجام نمیشود.میخوهم بدانم چطور در این حالت اعتبارسنجی را فعال کنم

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • یکشنبه 23 مهر 1396
  • 11:41

زمانی که شما  از DataAnnotations ها در مدلتون استفاده می کنید و به همراه Html Helper ها آن ها را در View قرار می دهید. input تولید شده توسط آن ها متفاوت می باشد

مثال:

    <input class="form-control" data-val="true" data-val-email="ایمیل وار شده معتبر نمی باشد." data-val-required="وارد کردن ایمیل ضروری می باشد." id="Email" name="Email" type="text">

همان طور که مشاهده می کنید این input دارای صفت هایی برای اعتبار سنجی می باشد اما input های تولید شده توسط شما دارای صفات اعتبار سنجی نمی باشد.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)