0

我在模型上有一个属性,该属性接受字符串值并存储颜色的十六进制值

例如:EEEEEE, 000000

我集成了一个 jquery 插件,以便用户可以使用颜色选择器。我喜欢它,因为它非常易于使用。问题在于,当您选择一种颜色时,它会用“#”字符填充文本框,然后可以轻松更改文本框的颜色(出于用户友好的目的 - 它是插件的一部分)。

现在我想保存帖子上的值,但问题是模型上的验证将只接受以下字符“0-9A-F”。我也想维护(数据库上没有特殊字符)。

所以我想为了避免验证,我会在单击按钮时修改文本框。我的问题是:

1.这是最有效的方法吗?

2.如果是,我将如何使用jquery?或者是其他东西?

让我知道你的想法。

谢谢!!!

4

1 回答 1

2

我会在您的模型上使用如下正则表达式验证器:

[RegularExpression(@"#([0-9][A-F])*", ErrorMessage = "Invalid Color Code")]

这将在验证中包含“#”,因此它将通过验证,然后如果需要,您可以在服务器端处理“#”。

如果您无法更改模型验证,也许您可​​以在提交表单之前在 JavaScript 中执行某些操作,以从提交的值中删除“#”。

于 2013-02-11T21:10:10.393 回答