Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
C# 使用远程服务器验证net core jquery/knockout以动态形式验证嵌套字段_C#_Jquery_Asp.net Core_Formwizard - Fatal编程技术网

C# 使用远程服务器验证net core jquery/knockout以动态形式验证嵌套字段

C# 使用远程服务器验证net core jquery/knockout以动态形式验证嵌套字段,c#,jquery,asp.net-core,formwizard,C#,Jquery,Asp.net Core,Formwizard,我有一个带3个选项卡的引导向导,在第二个选项卡中,我有一个动态联系人表单,可以在其中添加任意多的“联系人” 在联系人中,我有一个电子邮件字段,我想根据服务器进行验证(对于数据库中的重复项)和一个复选框 我的验证代码非常简单: [HttpPost] public async Task<IActionResult> CheckEmail([FromBody] string email) { var exists = await _userManag

我有一个带3个选项卡的引导向导,在第二个选项卡中,我有一个动态联系人表单,可以在其中添加任意多的“联系人”

在联系人中,我有一个电子邮件字段,我想根据服务器进行验证(对于数据库中的重复项)和一个复选框

我的验证代码非常简单:

    [HttpPost]
    public async Task<IActionResult> CheckEmail([FromBody] string email)
    {
        var exists = await _userManager.CheckEmailAsync(email);

        return exists ? Json(false) : Json(true);
    }
我正在隐藏向导的下一步,因为每当视图上显示错误时,它不会阻止“下一步”按钮

我使用此功能在创建时扩展联系人:

function addContactViewModel() {
var contact = ko.mapping.fromJS(emptyContactJson);
contact.email = ko.observable(contact.mail);
contact.email = ko.observable().extend({ isEmailUnique: true });
viewModel.contacts.push(contact);
}

我的观点是:

我有一个周围有很多垃圾的面板,所以我只发布相关的部分

<div class="form-group">
<label class="col-md-4 padding-label"email</label>
<div class="col-md-8">
    <input type="email" data-bind="value: contact.email,attr: { name:'email-' + $index()}" />
    <span data-bind='visible: contact.email.hasError, text: contact.email.validationMessage'> </span>
</div>

<div class="form-group">
<label class="col-md-4 padding-label"email</label>
<div class="col-md-8">
    <input type="email" data-bind="value: contact.email,attr: { name:'email-' + $index()}" />
    <span data-bind='visible: contact.email.hasError, text: contact.email.validationMessage'> </span>
</div>
<div class="form-group">
<label class="col-md-4 padding-label">Primary</label>
<div class="col-md-8">
    <label class="style-checkbox">
        <input type="checkbox" id="primarycheckbox" onchange="$('#languageselector').attr('disabled', !this.checked)" data-bind="value: contact.primaryContact" /><span></span>
    </label>
</div>