Angular4-类型脚本-生日验证(日、月、年)

Angular4-类型脚本-生日验证(日、月、年),angular,typescript,Angular,Typescript,正在尝试在用户寄存器中实现生日: 因此,我使用三个字段(日、月、年)。我只想在day字段具有与月份相关的有效值时插入(例如:28/二月,而不是31/二月)。 我怎样才能在有角度的打字脚本中做到这一点 另外,在数据库中存储生日最好的方法是什么,三列还是一列连接 注:我没有使用本地的日期选择器,因为对于生日来说,它不是很好用,而且有点难用 非常感谢 代码: 纳西门托数据 马斯 里约热内卢 费韦雷罗 马罗 阿布里尔 马约 李俊昊 朱略 阿戈斯托 塞滕布洛 十月 诺文布罗 德赞布罗 密码不匹配 地

正在尝试在用户寄存器中实现生日:

因此,我使用三个字段(日、月、年)。我只想在day字段具有与月份相关的有效值时插入(例如:28/二月,而不是31/二月)。 我怎样才能在有角度的打字脚本中做到这一点

另外,在数据库中存储生日最好的方法是什么,三列还是一列连接

注:我没有使用本地的日期选择器,因为对于生日来说,它不是很好用,而且有点难用

非常感谢

代码:


纳西门托数据
马斯
里约热内卢
费韦雷罗
马罗
阿布里尔
马约
李俊昊
朱略
阿戈斯托
塞滕布洛
十月
诺文布罗
德赞布罗
密码不匹配
地籍
有一个名为的库,可用于执行您希望执行的日期验证。看看他们的typescript文档,这很简单

npm install moment
在typescript文件中

import * as moment from 'moment';
现在,

date.isValid()告诉您日期是否有效。

有一个名为的库,可用于执行您希望执行的日期验证。看看他们的typescript文档,这很简单

npm install moment
在typescript文件中

import * as moment from 'moment';
现在,


date.isValid()告诉您日期是否有效。

这里是验证代码。谢谢大家!

static ValidDate(AC: AbstractControl) {

const birthday = AC.get('birthday').value; // to get value in input tag
const birthMonth = AC.get('birthMonth').value; // to get value in input tag
const birthYear = AC.get('birthYear').value; // to get value in input tag
const fullDate = birthYear + '-' + birthMonth + '-' + birthday;

const fullDate = moment(concatDate,       'YYYY-MM-DD', true);
 moment.locale('pt-BR');

if ( birthday !== '' && birthMonth !== '' && birthYear !== '' ) {

  if (fullDate.isValid() ) {
    AC.get('birthday').setErrors( null);
    return null;
  } else {
    AC.get('birthday').setErrors( {invalidDate: true} );
  }
}
} 

这里是验证代码。谢谢大家!

static ValidDate(AC: AbstractControl) {

const birthday = AC.get('birthday').value; // to get value in input tag
const birthMonth = AC.get('birthMonth').value; // to get value in input tag
const birthYear = AC.get('birthYear').value; // to get value in input tag
const fullDate = birthYear + '-' + birthMonth + '-' + birthday;

const fullDate = moment(concatDate,       'YYYY-MM-DD', true);
 moment.locale('pt-BR');

if ( birthday !== '' && birthMonth !== '' && birthYear !== '' ) {

  if (fullDate.isValid() ) {
    AC.get('birthday').setErrors( null);
    return null;
  } else {
    AC.get('birthday').setErrors( {invalidDate: true} );
  }
}
} 

请添加代码请将代码添加到帖子。请添加代码请将代码添加到帖子。我最终使用了这种方式,先生,非常感谢!极大的帮助!(const datanasc=力矩('2018-01-15','YYYY-MM-DD',真);@DValdirMartins-谢谢。如果你觉得这个答案对你有帮助,请接受它作为一个答案。@DValdirMartins你能提供这个问题的完整解决方案吗?我在生日表单验证方面也有同样的问题。提前谢谢!@Artyom,我发布了验证代码。它对我来说是这样的。你可以把它放到一个*.direc上tive.ts文件(指令)或插入组件本身的*.ts文件中。我最终使用了这种方式,先生,非常感谢!极大的帮助!(const datanasc=moment('2018-01-15','YYYY-MM-DD',true);@DValdirMartins-谢谢。如果你觉得这个答案对你有帮助,请接受它作为一个答案。@DValdirMartins你能提供这个问题的完整解决方案吗?我在生日表单验证方面也有同样的问题。提前谢谢!@Artyom,我发布了验证代码。它对我来说是这样的。你可以把它放到一个*.direc上tive.ts文件(指令)或插入组件本身的*.ts文件中。