angular2 模板驱动的表单验证问题

Swapnil Deo

我有 angular2 模板驱动的表单验证问题,以下是我的表单的代码。

  <h1>{{page_title}}</h1>
  <div *ngIf="success_flag" class="alert alert-success">
        {{success_message.message}}
  </div>
  <form  #add_book_form="ngForm"  (ngSubmit)="add_book(add_book_form)" novalidate>
              <div class="row">
                          <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12">
                                      <div class="form-group clearfix">
                                            <label>Book Name</label>
                                            <input name="book_name" id="book_name" [(ngModel)]="book_name" class="form-control" required>
                                            <div *ngIf="book_name.invalid && (book_name.dirty || book_name.touched)" class="alert alert-danger">
                                                              <div *ngIf="book_name.errors.required">
                                                              Book Name is required.
                                                              </div>


                                                              </div>
                                      </div>
                                </div>
              </div>
              <div class="row">
                          <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12">
                                      <div class="form-group clearfix">
                                            <label>Book Description</label>
                                            <textarea name="book_description" [(ngModel)]="book_description" class="form-control" required></textarea>
                                      </div>
                                </div>
              </div>
              <div class="row">
                          <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12">
                                      <div class="form-group clearfix">
                                            <label>Book Published Date</label>
                                            <input name="book_published_date" [(ngModel)]="book_published_date" class="form-control"  required>
                                      </div>
                                </div>
              </div>      
              <div class="row">
                          <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12">
                                      <div class="form-group clearfix">
                                            <label>Cover Image</label>
                                            <input name="book_cover_image" [(ngModel)]="book_cover_image" class="form-control" type="file" (change)="getFiles($event,'cover_image')" required>
                                      </div>
                                </div>
              </div>
              <div class="row">
                          <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12">
                                      <div class="form-group clearfix">
                                            <label>PDF Copy</label>
                                            <input name="book_pdf_copy" [(ngModel)]="book_pdf_copy" class="form-control" type="file" (change)="getFiles($event,'pdf_copy')" required>
                                      </div>
                                </div>
              </div>
              <div class="row">
                          <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12">
                                      <div class="form-group clearfix">
                                            <label>PDF Sample</label>
                                            <input name="book_pdf_sample" [(ngModel)]="book_pdf_sample" class="form-control" type="file" (change)="getFiles($event,'pdf_sample')" required>
                                      </div>
                                </div>
              </div>
              <div class="row">
                          <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12">
                                      <div class="form-group clearfix">
                                            <label>Price</label>
                                            <input name="book_price" [(ngModel)]="book_price" class="form-control" type="number" required>
                                      </div>
                                </div>
              </div>
              <div class="row">
                          <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12">
                                      <div class="form-group clearfix  text-center">
                                            <button [disabled]="add_book_form.invalid" class="btn btn-success">Save Book</button>
                                      </div>
                                </div>
              </div>      
        </form>

当前提交按钮被禁用。当我尝试填写书名字段时,它必须启用,但仍然无法正常工作,我不知道问题究竟在哪里。同样也没有显示错误消息。

请帮忙。谢谢

尼莱·维什瓦卡玛

@DBQ 是对的。

而不是使用:

<button [disabled]="add_book_form.invalid" class="btn btn-success">Save Book</button>

你应该使用:

<button [disabled]="add_book_form.controls['book_name'].invalid" class="btn btn-success">Save Book</button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular2模板驱动的表单:如何为自定义表单控件创建字段验证?

来自分类Dev

Angular2模板驱动的异步验证器

来自分类Dev

提交验证时的 Angular 模板驱动表单

来自分类Dev

angular2异步表单验证

来自分类Dev

focus() 的 Angular2 表单验证

来自分类Dev

Angular2- 子组件中输入字段的模板驱动表单验证

来自分类Dev

Angular2模板字段问题

来自分类Dev

Angular2不同的模板

来自分类Dev

Angular2模板应用

来自分类Dev

Angular2动态模板

来自分类Dev

将参数传递给Angular 7模板驱动的表单自定义验证器

来自分类Dev

Angular 模板驱动的表单验证:我应该发布 ngModel 还是 form.value?

来自分类Dev

Angular2绑定问题

来自分类Dev

Angular2选择问题

来自分类Dev

angular2过滤问题

来自分类Dev

angular2验证器错误:模板解析错误:(…)

来自分类Dev

Angular2表单“必需”绑定-未执行验证

来自分类Dev

Angular2表单“必需”绑定-未执行验证

来自分类Dev

在某些条件下的Angular2表单验证

来自分类Dev

在angular2中进行表单异步验证

来自分类Dev

Bootstrap 表单验证在 angular2 中不起作用

来自分类Dev

Angular2 - 反应式表单验证

来自分类Dev

组件中的Angular 2模板驱动表单访问ngForm

来自分类Dev

Angular2中的动态模板“包含”

来自分类Dev

Angular2动态加载模板

来自分类Dev

angular2:带有模板的服务?

来自分类Dev

javascript中的Angular2递归模板

来自分类Dev

Angular2:内联模板中的错误

来自分类Dev

Angular2:内联模板中的错误