【发布时间】:2021-06-21 13:47:51
【问题描述】:
我是 Elixir 初学者。
我正在尝试验证员工工作时间的字段。我有一个属性为 type="number" 的输入,但是该属性不适用于 Internet Explorer 11,因此我需要后端验证才能具有浏览器兼容性。
要求是:
- 该字段只能包含数字,非数字字符不应有效。
- 该字段最多允许有一位小数,步长为 0.5
例如:
- “40”应该有效
- “37.5”应该是有效
- “40 小时”应该无效
- “32.3”应该是无效
- “37.55”应该是无效
- “37..5”应该是无效
这是我目前得到的所有信息:
defp validate_working_hours(changeset) do
changeset
|> Changeset.validate_number(:working_hours, greater_than: 0)
end
我将如何验证我的要求?我认为validate_format 在这里会派上用场——类似于
|> Changeset.validate_format(:working_hours, <something here>)
但在摆弄之后,我似乎无法验证这些要求。任何帮助表示赞赏,干杯。
【问题讨论】:
标签: validation elixir ecto