Правила проверки Razor JQuery в ASP.NET Core 3.0 на частичной странице

У меня есть страница в ASP.NET Core 3.0 с RAZOR (без MVC), с частичной страницей, загруженной с помощью AJAX; load работает хорошо, но правил проверки нет. Также хорошо работает проверка с «обязательной» нотацией в других полях ввода.

Это моя главная страница:

    <a class="nav-link showposition text-dark text-center p-0 collapsed" id="ShowPosition" href='ShowPosition'>@item.Sale_Order_Position</a>

    <div class="card shadow mb-4 collapse" aria-labelledby="ShowPosition">
        <div id="DetailContents">
        </div>
    </div>

    <script> 
    jQuery(function($) {
    $('.showposition').on('click', function (e) {
        e.preventDefault(); 
        $.ajax({
            url: $(this).attr('href'),
            type: 'GET',
            cache: false,
            headers: {
                RequestVerificationToken:  $('input:hidden[name="__RequestVerificationToken"]').val()
            }
        }).done(function(result) {
            $('#DetailContents').html(result);

            //Setup Position details
            $('#SavePositionForm').SetupPositionDetails();
        });
    });

   (function( $ ){
    $.fn.SetupPositionDetails = function () {

        $("#SavePositionForm").removeData("validator");
        $("#SavePositionForm").removeData("unobtrusiveValidator");
        $.validator.unobtrusive.parse("#SavePositionForm");

        $("#SavePositionForm").validate({
            debug: true,
            rules: {
                inp_NetPrice: {
                    required: true
                }
            }
        });

           }; 
    })(jQuery);

    });
    </script>

И это мой частичный вид:

<form id="SavePositionForm" class="needs-validation" novalidate>
    <div class="col-sm-12 col-md-12 col-lg-6 col-xl-6">
        <div class="row">
            <div class="col div_image pl-0">
                <label class="bg-white"><i class="fr fa-newspaper mr-2"></i><localize>Net price</localize></label>
            </div>
            <div class="col-sm-6 col-md-6">
                <input class="form-control form-control-sm" type="number" step="any" name="inp_NetPrice" id="inp_NetPrice" asp-for="@Model.Item1.Net_Price" value="@Model.Item1.Net_Price"/>
            </div>
        </div>
    </div>
    </form>

Проблема в том, что проверка inp_NetPrice не работает.

Я также пробовал этот скрипт на главной частичной странице (я знаю, не рекомендуется размещать скрипт на частичных страницах, но я хотел бы попробовать) без успеха:

$(document).ready(function () {

    $("#SavePositionForm").validate({
            debug: true,
            rules: {
                inp_NetPrice: {
                    required: true
                }
            }
    });

    $("#SavePositionForm").removeData("validator");
    $("#SavePositionForm").removeData("unobtrusiveValidator");
    $.validator.unobtrusive.parse("#SavePositionForm");

});

Какие-либо предложения? Спасибо.

ИЗМЕНИТЬ:

Сгенерированный HTML:

<div class="col-sm-12 col-md-12 col-lg-6 col-xl-6">
   <div class="row">
       <div class="col div_image pl-0">
           <label class="bg-white"><i class="fa fa-newspaper mr-2"></i>Net price</label>
       </div>
       <div class="col-sm-6 col-md-6">
           <input class="form-control form-control-sm" id="inp_NetPrice" name="inp_NetPrice" value="" type="number" step="any">
       </div>
   </div>
 </div>


person MrTex    schedule 05.12.2019    source источник
comment
Можете ли вы проверить сгенерированный вывод HTML для рассматриваемого элемента ввода? Особо интересуют атрибуты name и id   -  person jcruz    schedule 05.12.2019
comment
Добавьте сгенерированный HTML.   -  person MrTex    schedule 05.12.2019


Ответы (1)


Проблема исправлена ​​при удалении

name = "inp_NetPrice"

потому что у меня есть

name = "inp_NetPrice" id = "inp_NetPrice" asp-for = "@ Model.Item1.Net_Price"

person MrTex    schedule 10.12.2019