我有一个在动态表单上创建的图像上传。我正在尝试这样做,以便我可以验证上传的文件是实际图像,并且不显眼地执行此操作。我已经阅读了有关 .rules() 设置和使用接受属性的信息,但这需要您输入字段名称 (http://docs.jquery.com/Plugins/Validation/Methods/accept)。由于表单是动态的,我不知道字段名称。我生成上传输入的视图如下所示:
<input type="file" size="20" name="@(Model.FormItem.Id + "-image")" id="@(Model.FormItem.Id + "-image")" />
所以我所有的文件输入都有一个“-image”后缀。有没有办法使用 jquery 选择器为验证器规则添加规则,而不是使用特定的字段名称?
编辑好吧,很明显我没有解释问题出在哪里。也许解决方案是如此简单,不知何故我错过了它。我知道如何使用 jQuery 选择器,但是从我看到的rules
语法示例中,您必须为规则提供静态字段名称。如何将验证规则分配给选择器而不是静态字段名称?
所以现在这就是我所拥有的:
var validatorData = $('#items-form').data('validator');
$.extend(validatorData.settings, {
rules: {
static_field_name: { accept: "jpg|png" }
},
messages: {
static_field_name_message: "The file must be an image."
}
});
static_field_name
如果我用正确的选择器替换,这将不起作用,(显然)也不起作用$('input[name$="-image"]')
。那么我该怎么做呢?