让我解释一下我的问题。我正在开发一个MVC C#应用程序,它使用这个日历来显示事件 - https://fullcalendar.io/。这些事件是法庭听证会。我的一个过滤器是" judgePanel"。 judgePanel
属性是一个字符串(id属性用于" judgePanel" - 该属性存在一些问题,所以最后我们就这样离开了。)
这是我的模特:
[Required(ErrorMessage = "* The field is required.")]
public string id { get; set; }
这是我的观点:
<div class="col-md-3">
@Html.DropDownListFor(x => x.id, Model.JudgePanels, "choose a judgePanel", new { id = "juror-id", @class = "form-control" })
</div>
@Html.ValidationMessageFor(x => x.id, null, new { @class = "text-danger" })
这是我在EventController中的方法:
public ActionResult GetHearingsForJudgePanel(string id, int? month = null, int? year = null, int? caseNumber = null, int? caseYear = null)
{
if (!Request.IsAjaxRequest())
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
int currentMonth;
int currentYear;
DateTime currentDate = DateTime.Now;
EventService service = new EventService();
IEnumerable<object> data;
if (id == "")
{
id = null;
}
string judgePanel = id;
if (month.HasValue)
currentMonth = month.Value;
else
currentMonth = currentDate.Month;
if (year.HasValue)
currentYear = year.Value;
else
currentYear = currentDate.Year;
data = service.GetHearingsForJudgePanel(judgePanel, currentMonth, currentYear, caseNumber, caseYear);
return Json(data, JsonRequestBehavior.AllowGet);
}
直到昨天,视图中的代码是:
<div class="col-md-3">
@Html.DropDownListFor(x => x.id, Model.JudgePanels, "all", new { id = "juror-id", @class = "form-control" })
</div>
因为我有选择&#34;所有&#34;显示所有judPanels。现在我必须删除该选项,只想保留单词:&#34;选择一个judPanel&#34;在下拉列表的顶部,我希望当有人选择它们时,显示验证消息&#34;该字段是必需的&#34;为了提示用户选择一个特定的judgePanel并为了使下拉所需(没有它就不能过滤)。
问题在于,当我选择&#34;选择一个judPanel&#34;并且过滤而不是接收验证消息,我再次看到所有的听证会(对于所有的judPanels)。我调试了控制器方法,当我选择&#34;选择一个judPanel&#34;时,我看到id
(judgePanel)参数是空字符串(&#34;&#34;)。从下拉列表。
请帮我收到正常的验证讯息。
这是我在我的观点中放置的javascript文件:
$("#juror-id").chosen();
答案 0 :(得分:0)
您可以使用javascript / jquery在提交之前进行验证,如果值为空,则字符串触发验证,或者如果ActionResult上的值为null,则返回一个值并使用它来显示您需要的验证
答案 1 :(得分:0)
尝试将模型更改为此?
df.select($"point"(0).as("firstValue")).show