【问题标题】:Validate HTML Textbox验证 HTML 文本框
【发布时间】:2023-04-07 08:16:01
【问题描述】:

我有这个文本框:

<%= Html.TextBox("EffectiveDate", Model.EffectiveDate.HasValue ? Model.EffectiveDate.Value.ToString("dd-MMM-yyyy") : "", new { @class = "economicTextBox", propertyName = "EffectiveDate", onchange = "parseAndSetDt(this); ", dataType = "Date" })%>

我需要 JS 验证帮助。如果用户有权限,他们可以输入任何日期。如果用户不这样做,他们只能输入当前日期或将来的日期。

这是我拥有的一个控制器方法,如果用户有权限,我可以得到它。

[NoCache]
        public ActionResult HasAdvanced()
        {
            if (Chatham.Web.UI.Extranet.SessionManager.DisplayUser.IsInRole("hasICAdvanced"))
            {
                return Json(
                new
                {
                    value = "true"
                });
            }
            else{
                return Json(
                new
                {
                    value = "false"
                });
            }
        }

Js/JQuery 会是什么样子?我太难了。

谢谢!

【问题讨论】:

    标签: jquery html ajax validation html-helper


    【解决方案1】:

    如果您使用 jquery 验证,请查看 remote 规则。

    它最终可能看起来像这样:

    $("#myform").validate({
      rules: {
        EffectiveDate: {
          required: true,
          remote: "HasAdvanced"
        }
      }
    });
    

    如果您不想使用现有框架,您可以为这一领域推出自己的验证。

    $("#EffectiveDate").blur(function(){
      //or $.get
      $.post("HasAdvanced", null, function(data){
        //Handle the json data and update the field display a message, etc......
      }, "json");
    });
    

    【讨论】:

    • HasAdvanced 方法在哪里发挥作用?
    • 远程选项是否直接进行ajax调用?
    • 更新了答案,远程只是 HasAdvanced 函数的位置。
    • 我可以将 AJAX 调用嵌入到远程吗?
    • 当表单被验证时,jquery 验证会自动为你进行远程 ajax 调用。这是一个使用远程验证用户名jquery.bassistance.de/validate/demo/milk 的演示
    【解决方案2】:

    作为旁注,您的 HasAdvanced 方法可以大大简化:

    return Json(
        new { value = 
            Chatham.Web.UI.Extranet.SessionManager.DisplayUser.IsInRole("hasICAdvanced").ToString() 
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 2015-02-11
      • 1970-01-01
      • 2012-07-30
      • 2011-09-18
      • 2012-11-18
      • 1970-01-01
      相关资源
      最近更新 更多