gpt4 book ai didi

jquery - 将django表单(formset)中的十进制数加载到数字输入中

转载 作者:行者123 更新时间:2023-11-28 17:17:53 25 4
gpt4 key购买 nike

我正在创建一个简单的 Django 应用程序,您可以在其中创建包含配料的食谱。在我的 RecipeCreate View 中,我有一个简单的表单集,其中包含一个 select 输入(您在其中选择产品)和一个 input type="number"产品数量。所以我的表单和模型非常简单:

class Ingredient(models.Model):
product = models.ForeignKey(Product)
count = models.DecimalField(max_digits=4, decimal_places=2)

class IngredientForm(forms.ModelForm):
class Meta:
model = Ingredient
fields = ('product', 'count')

现在,当我想在我的 RecipeEdit View 上显示我的食谱时,除了 count 输入外,所有内容都可以正常加载。我收到以下 jQuery 验证错误:

The specified value "12,00" is not a valid number. The value 
must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?

因为我正在写一个波兰语网站,所以我希望有我们国家标准的小数点分隔符,它是 , 而不是 .(但点也应该是一个分隔符)。

其中一个解决方案是使用 input type="text" 但这意味着我必须手动验证我的号码,这很麻烦。有什么方法可以传递我的号码 12,00 以便输入字段接受它。可能更改/覆盖标准的 jQuery 验证?但我会接受任何好的建议解决方案。

另一个奇怪的事实是,当我手动编写 12,0012.00 并提交我的表单时,我的表单是有效的并且我的 Ingredient count 字段的值是 od 12,这是我想要的。这是 input type="number" 的另一个优点。

最佳答案

您可以设置您的语言环境 decimal separator

更新:

没看到是jquery相关的,

例如,您可以为逗号数字创建新的验证器类

jQuery.validator.addMethod("commanumber", function (value, element) {
return this.optional(element) || /^(\d+|\d+,\d{1,2})$/.test(value);
}, "Please specify the correct number format");

甚至扩展正则表达式以支持 .还有

关于jquery - 将django表单(formset)中的十进制数加载到数字输入中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43214696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com