停止将formData字符串转换为日期字符串表示形式

时间:2020-07-06 22:20:22

标签: string date .net-core type-conversion isodate

这个很难被发现。我们有一个.NET Core 2.2应用程序,其中有一个包含许多字段的表单和一个供用户附加某些文件的字段。

问题:一个特定字段CaqhNumber的最小和最大长度为8。

当用户键入一个值,例如20200706时,发送到服务器的值就是该值的日期字符串表示形式。因此,在服务器端,我们得到:

07/06/2020

基本上,它认为此特定字段是ISO date

![Do

如何阻止这种情况的发生?我们只想在服务器端获取字符串,就像在UI端输入字符串一样即可。不是约会两侧都是纯弦线。

有些东西告诉我,这与.NET Core配置有关。

1 个答案:

答案 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'));