Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度7+;Ngx引导程序如何验证日期?_Javascript_Angular_Angular Reactive Forms_Ngmodel - Fatal编程技术网

Javascript 角度7+;Ngx引导程序如何验证日期?

Javascript 角度7+;Ngx引导程序如何验证日期?,javascript,angular,angular-reactive-forms,ngmodel,Javascript,Angular,Angular Reactive Forms,Ngmodel,我正在为日期选择器使用ngx引导,我的日期选择器的输入格式为“dd/MM/yyyy”,如2019年7月25日 因此,我创建了一个用于捕获日期的组件,并将其转换为我的反应式表单(因为mysql接受日期为yyyy mm dd)。我在输入中使用ngModel,每次用户输入值时都会更改值 代码如下: 从'/../../../../../environments/environment'导入{environment}; 从'@angular/core'导入{Component,OnInit,Input}

我正在为日期选择器使用ngx引导,我的日期选择器的输入格式为“dd/MM/yyyy”,如2019年7月25日

因此,我创建了一个用于捕获日期的组件,并将其转换为我的反应式表单(因为mysql接受日期为yyyy mm dd)。我在输入中使用ngModel,每次用户输入值时都会更改值

代码如下:

从'/../../../../../environments/environment'导入{environment};
从'@angular/core'导入{Component,OnInit,Input};
从“ngx引导”导入{BsDatepickerConfig};
从'@angular/forms'导入{FormGroup};
从“时刻”导入*作为时刻;
@组成部分({
选择器:“应用程序输入日期”,
templateUrl:'./input date.component.html',
样式URL:['./输入日期.component.css']
})
导出类InputDateComponent实现OnInit{
@Input()表单:FormGroup;
@Input()字段名:字符串;
@Input()字段描述:字符串;
日期选择器配置:部分;
临时日期:任何;
isInvalid:布尔值;
构造函数(){
this.datePickerConfig=Object.assign(
{},
{
集装箱类:“主题深蓝”,
dateInputFormat:environment.dateFormat
}
);
}
恩戈尼尼特(){
让theDate=this.form.get(this.fieldName).value;
如果(日期!=“”){
this.tempDate=时刻(theDate,environment.mysqlDateFormat).format(environment.dateFormat);
}
}
获取myField()
{
返回this.form.get(this.fieldName);
}
//约会
onDateModelChange(事件)
{ 
如果(this.tempDate!=“”){
这个.form.patchValue({
[this.fieldName]:矩(this.tempDate,environment.dateFormat).format(environment.mysqlDateFormat)
});
}否则{
这个.form.patchValue({
[this.fieldName]:“”
});
}
console.log(this.form.get(this.fieldName).errors);
}
}

为什么要使用
[(ngModel)]
?您应该使用带有
formControlName
属性的被动表单。你试过了吗?我这样问是因为我还使用Angular 7+Ngx Bootstrap+mysql作为日期,我用反应式表单对其进行了大量验证。@MichalS因为服务器接受日期格式为YY mm dd,但我希望用户将其视为dd/mm/yyyy,这就是为什么我将ngmodel和反应式表单一起使用,并封装在一个组件上以供重用。不过,在我看来,没有必要使用
ngModel
,我会找到代码并将其发布在这里,也许它可以帮助您好的,我会等待它。我正在寻找转换日期的解决方案。您可以将代码添加到stackbliz吗?