mvc app

时间:2017-06-29 07:05:46

标签: asp.net-mvc data-annotations validationmessage

我有一个简单的mvc web应用程序,即使用指定的搜索参数(名为RA编号)在数据库中搜索事务,现在我决定在我的应用程序上添加jquery块ui然后我意识到即使在输入空字符串(“”文本框中的“单个或双重空格键”。

我在RA视图模型中有数据注释,然后在我的视图模型属性上添加了AllowEmptryStrings = false属性,请参阅下面的代码

public class SearchByRAViewModel
{
    [Required(ErrorMessage = "Please enter an RA number",AllowEmptyStrings = false)]
    public string RANumber { get; set; }
}

这是我的控制器代码中的动作方法

public ActionResult SearchTollTransactions(SearchByRAViewModel raViewModel)
{
    List<TollScrapingTransactionScreen> tollScrapingList = new List<TollScrapingTransactionScreen>();
    if (ModelState.IsValid)
    {
        tollScrapingList = GetTransactionByRA(raViewModel.RANumber);
        ViewBag.RANumber = raViewModel.RANumber;
        return View(tollScrapingList);
    }
    else
    {
        return View("Index");
    }
}

我现在唯一的问题是,如果搜索文本框中有空字符串,搜索页面(索引)上似乎会显示额外的验证消息,请参见屏幕截图

double validation message

这是我的块ui部分,以防有人想知道它在哪里

$('#btnSearch').click(function () {
    // there should be at least a value for ra before firing the blockui
    var raValue = $('#raNumber').val();
    if (!raValue || raValue.trim() === '') {
        return;
    }
    else {
        $.blockUI();
    }
});

这是我观点的一部分,它在正常的@using(Html.BegingForm)

<div class="form-horizontal">
    <div class="form-group">
        <div class="panel panel-default">
            <div class="panel-heading">Search by RA number</div>
            <div class="panel-body">
                <div class="col-sm-12">
                    <table class="table form-table">
                        <tr>
                            <th class="col-sm-2">@Html.DisplayNameFor(model => model.RANumber)</th>
                            <td class="col-sm-10">
                                @Html.TextBoxFor(model => model.RANumber, new { @class = "form-control", @tabindex = 1, @id = "raNumber" })
                                @Html.ValidationMessageFor(model => model.RANumber)
                            </td>
                        </tr>
                    </table>
                </div>

                <div class="btn-toolbar col-sm-12">
                    <input type="submit" value="Search Transaction" class="btn pull-right" tabindex="2" id="btnSearch" />
                </div>

            </div>
        </div>
    </div>
</div>

0 个答案:

没有答案