Проверить текстовое поле HTML - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть это текстовое поле:

<%= 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? Я ооочень тупо.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 17 февраля 2011

Как обозначение, ваш HasAdvanced метод может быть значительно упрощен:

0 голосов
/ 17 февраля 2011

Если вы используете проверку 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");
});
...