这个很难被发现。我们有一个.NET Core 2.2应用程序,其中有一个包含许多字段的表单和一个供用户附加某些文件的字段。
问题:一个特定字段CaqhNumber
的最小和最大长度为8。
当用户键入一个值,例如20200706
时,发送到服务器的值就是该值的日期字符串表示形式。因此,在服务器端,我们得到:
07/06/2020
基本上,它认为此特定字段是ISO date。
如何阻止这种情况的发生?我们只想在服务器端获取字符串,就像在UI端输入字符串一样即可。不是约会两侧都是纯弦线。
有些东西告诉我,这与.NET Core配置有关。
答案 0 :(得分:0)
猜猜是什么...幕后有一段代码弄乱了这个值:
const isValidDate = moment(
value,
moment.ISO_8601,
true
).isValid();
if (isValidDate) {
formData.append(
key,
moment(value).format('MM/DD/YYYY')
);
解决方法:
if (value instanceof Date) {
formData.append(key, moment(value).format('MM/DD/YYYY'));