魔术建议数字输入

时间:2017-11-19 00:53:06

标签: javascript c# asp.net-core numeric magicsuggest

我正在使用magicSuggest和一些输入字段进行服务器端过滤。在表单中,我想将其与Google API Places一起使用,以获取地方的邮政编码。问题是我希望用户只将数值插入我的输入进行搜索。

documentation我猜测应该与我想要做的相关的配置选项是:

  

vregex规定了条目集的类型。

     

vtype需要一个匹配给定类型的条目。

我尝试过以下设置:

vtype: "int", vtype: "number"
vregex: /^\d+$/, vregex: "/^\d+$/"

并且它们都没有触发任何类型的错误,而不是允许或指示该字段不接受字符串值。此外,无论我写什么输入触发服务器端过滤,并给我一个字符串输入预期的结果。

我的完整插图是:

HTML

<input asp-for="ZipCode" id="zipCode" class="form-control" placeholder=""  />

Javascript

$('#zipCode').magicSuggest({
        allowFreeEntries: false,
        maxSelection: 1,
        minChars: 3,
        useTabKey: true,
        mode: 'remote',
        valueField: 'id',
        displayField: 'description',
        autoSelect: true,
        vregex: reg,
        renderer: function (region) {
            return '<div>' +
                '<div style="font-family: Arial; font-weight: bold">' + region.structured_formatting.main_text + '</div>' +
                '<div>' + region.description + '</div>' +
                '</div>';
        },
        data: params.searchRegionsUrl
    });

控制器

    public async Task<JsonResult> GetRegions(string query)
    {
        List<GoogleApiPlace> places = new List<GoogleApiPlace>();
        try
        {
            places = await GoogleApisPlacesManagement.GetRegions(query);

        }
        catch (Exception ex)
        {
            // Log exception
        }
        return Json(places.OrderBy(o => o.description));
    }

0 个答案:

没有答案