Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
Jquery 如何根据按下的按钮更改必填字段?_Jquery_Html_Asp.net Mvc 4 - Fatal编程技术网

Jquery 如何根据按下的按钮更改必填字段?

Jquery 如何根据按下的按钮更改必填字段?,jquery,html,asp.net-mvc-4,Jquery,Html,Asp.net Mvc 4,我不确定这是否可能。基本上,这就是我所拥有的。我的表格末尾有3个按钮:取消、保存和提交。所有字段都必须能够提交表单。我通过使用cancel类和ModelState.Clear()(因为我同时使用客户端和服务器端验证)绕过了cancel按钮的验证 如果用户按下“保存”按钮,我如何只需要一个字段 我的代码太大,无法实际显示示例,但以下是基本内容: 在我的模型中,所有字段都具有属性[必需] 在我看来,验证是通过@Html.ValidationMessageFor(model=>model.Level)

我不确定这是否可能。基本上,这就是我所拥有的。我的表格末尾有3个按钮:取消、保存和提交。所有字段都必须能够提交表单。我通过使用
cancel
类和
ModelState.Clear()
(因为我同时使用客户端和服务器端验证)绕过了cancel按钮的验证

如果用户按下“保存”按钮,我如何只需要一个字段

我的代码太大,无法实际显示示例,但以下是基本内容:

在我的模型中,所有字段都具有属性
[必需]

在我看来,验证是通过
@Html.ValidationMessageFor(model=>model.Level)

我的控制器为每个按下的按钮配备了外壳:

if(button == "cancel")
{
    ModelState.Clear();  <- This turns off server-side validation
    //returns to other page
}

if(button == "save")
{
    //save things?  <-- Not sure what to do here?
}

if(button == "submit")
{
    //submit everything
}
if(按钮==“取消”)
{

ModelState.Clear();我自己用javascript回答了这个问题:

首先,我将验证消息切换到我可以控制的消息(因为我自己不知道如何控制Html.ValidationMessageFor()

需要事件名称

然后我添加了这个javascript函数

    $('#newForm').submit(function checkEventName(event) {
        if ($('#EventName').val() == "") {
            event.preventDefault();
            $('.validate-event-name.hidden').removeClass('hidden');
        }
    });
这显示了验证消息,但没有提交表单。然后我在控制器中的保存按钮中使用了
ModelState.Clear()
,瞧

我希望这能帮助别人,因为我花了一段时间才弄明白


(旁白:在没有解释为什么对我没有帮助的情况下否决了我的问题。这是一个合理的问题!)

在保存时,您将如何验证服务器端的数据。如果用户正在保存某些内容,则我需要的唯一字段是标题。我正在使用DataAnnotation进行验证。将代码示例添加到客户端的问题中,确保标题不为空,并检查其他字段的内容。然后您可以保存..Doe这是你问题的答案吗?太好了。继续。