Angular validation messages appears after reset() form












1















I try to get the form to be clear without the validation error messages after calling reset().



my form looks clean on load, and that is expected:
form as when the page loaded, no validation errors
however, if the user pressed the register button, and there was an error, I trigger the form.reset() method. I expect the form to look like the above picture, since the touch, pristine, dirty props are all as when the form is initially loaded.
but instead, it clears the values, but shows me the validation error.
form with validation errors
Can anyone help me please get it to the initial state, a clear form without the validation errors shows up?
This is a reactive form. let me know if you need more information. Thanks!










share|improve this question





























    1















    I try to get the form to be clear without the validation error messages after calling reset().



    my form looks clean on load, and that is expected:
    form as when the page loaded, no validation errors
    however, if the user pressed the register button, and there was an error, I trigger the form.reset() method. I expect the form to look like the above picture, since the touch, pristine, dirty props are all as when the form is initially loaded.
    but instead, it clears the values, but shows me the validation error.
    form with validation errors
    Can anyone help me please get it to the initial state, a clear form without the validation errors shows up?
    This is a reactive form. let me know if you need more information. Thanks!










    share|improve this question



























      1












      1








      1


      1






      I try to get the form to be clear without the validation error messages after calling reset().



      my form looks clean on load, and that is expected:
      form as when the page loaded, no validation errors
      however, if the user pressed the register button, and there was an error, I trigger the form.reset() method. I expect the form to look like the above picture, since the touch, pristine, dirty props are all as when the form is initially loaded.
      but instead, it clears the values, but shows me the validation error.
      form with validation errors
      Can anyone help me please get it to the initial state, a clear form without the validation errors shows up?
      This is a reactive form. let me know if you need more information. Thanks!










      share|improve this question
















      I try to get the form to be clear without the validation error messages after calling reset().



      my form looks clean on load, and that is expected:
      form as when the page loaded, no validation errors
      however, if the user pressed the register button, and there was an error, I trigger the form.reset() method. I expect the form to look like the above picture, since the touch, pristine, dirty props are all as when the form is initially loaded.
      but instead, it clears the values, but shows me the validation error.
      form with validation errors
      Can anyone help me please get it to the initial state, a clear form without the validation errors shows up?
      This is a reactive form. let me know if you need more information. Thanks!







      angular forms angular-reactive-forms angular-validation






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 25 '18 at 21:40







      Roni Axelrad

















      asked Nov 25 '18 at 21:33









      Roni AxelradRoni Axelrad

      1208




      1208
























          2 Answers
          2






          active

          oldest

          votes


















          2














          It looks like you are using Angular Materials.
          If so ,you must reset FormGroupDirective too,only resetting the FormGroup is not enough.



          private registerForm(fData: any,formDirective: FormGroupDirective): void {
          formDirective.resetForm();
          this.RegForm.reset();
          }





          <form [formGroup]="RegForm" #formDirective="ngForm" 
          (ngSubmit)="registerForm(RegForm,formDirective)">





          share|improve this answer


























          • Thanks !! that worked. I wasn't aware of the extra step if using angular meterial

            – Roni Axelrad
            Nov 25 '18 at 22:52



















          0














          Are you using something like this?



          // Reactive Form

          constructor(private _builder:FormBuilder) {
          this.createForm();
          }

          createForm() {
          this.form = this._builder.group({
          key: this.value,
          });
          }

          // Option 1
          resetForm() {
          this.form.reset();
          }

          // Option 2 - create form again
          resetForm() {
          this.createForm()
          }

          // Template Form

          ---- HTML ----
          <form #myForm="ngForm"></form>

          ---- TS ----
          @ViewChild('myForm') myForm;

          resetForm() {
          if (this.myForm) {
          this.myForm.reset();
          }
          }





          share|improve this answer
























          • Thanks for your suggestion Mishal. The first answer worked for me.

            – Roni Axelrad
            Nov 25 '18 at 22:53











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53472222%2fangular-validation-messages-appears-after-reset-form%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          It looks like you are using Angular Materials.
          If so ,you must reset FormGroupDirective too,only resetting the FormGroup is not enough.



          private registerForm(fData: any,formDirective: FormGroupDirective): void {
          formDirective.resetForm();
          this.RegForm.reset();
          }





          <form [formGroup]="RegForm" #formDirective="ngForm" 
          (ngSubmit)="registerForm(RegForm,formDirective)">





          share|improve this answer


























          • Thanks !! that worked. I wasn't aware of the extra step if using angular meterial

            – Roni Axelrad
            Nov 25 '18 at 22:52
















          2














          It looks like you are using Angular Materials.
          If so ,you must reset FormGroupDirective too,only resetting the FormGroup is not enough.



          private registerForm(fData: any,formDirective: FormGroupDirective): void {
          formDirective.resetForm();
          this.RegForm.reset();
          }





          <form [formGroup]="RegForm" #formDirective="ngForm" 
          (ngSubmit)="registerForm(RegForm,formDirective)">





          share|improve this answer


























          • Thanks !! that worked. I wasn't aware of the extra step if using angular meterial

            – Roni Axelrad
            Nov 25 '18 at 22:52














          2












          2








          2







          It looks like you are using Angular Materials.
          If so ,you must reset FormGroupDirective too,only resetting the FormGroup is not enough.



          private registerForm(fData: any,formDirective: FormGroupDirective): void {
          formDirective.resetForm();
          this.RegForm.reset();
          }





          <form [formGroup]="RegForm" #formDirective="ngForm" 
          (ngSubmit)="registerForm(RegForm,formDirective)">





          share|improve this answer















          It looks like you are using Angular Materials.
          If so ,you must reset FormGroupDirective too,only resetting the FormGroup is not enough.



          private registerForm(fData: any,formDirective: FormGroupDirective): void {
          formDirective.resetForm();
          this.RegForm.reset();
          }





          <form [formGroup]="RegForm" #formDirective="ngForm" 
          (ngSubmit)="registerForm(RegForm,formDirective)">






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 25 '18 at 22:34

























          answered Nov 25 '18 at 22:25









          Victor RodnianskyVictor Rodniansky

          4818




          4818













          • Thanks !! that worked. I wasn't aware of the extra step if using angular meterial

            – Roni Axelrad
            Nov 25 '18 at 22:52



















          • Thanks !! that worked. I wasn't aware of the extra step if using angular meterial

            – Roni Axelrad
            Nov 25 '18 at 22:52

















          Thanks !! that worked. I wasn't aware of the extra step if using angular meterial

          – Roni Axelrad
          Nov 25 '18 at 22:52





          Thanks !! that worked. I wasn't aware of the extra step if using angular meterial

          – Roni Axelrad
          Nov 25 '18 at 22:52













          0














          Are you using something like this?



          // Reactive Form

          constructor(private _builder:FormBuilder) {
          this.createForm();
          }

          createForm() {
          this.form = this._builder.group({
          key: this.value,
          });
          }

          // Option 1
          resetForm() {
          this.form.reset();
          }

          // Option 2 - create form again
          resetForm() {
          this.createForm()
          }

          // Template Form

          ---- HTML ----
          <form #myForm="ngForm"></form>

          ---- TS ----
          @ViewChild('myForm') myForm;

          resetForm() {
          if (this.myForm) {
          this.myForm.reset();
          }
          }





          share|improve this answer
























          • Thanks for your suggestion Mishal. The first answer worked for me.

            – Roni Axelrad
            Nov 25 '18 at 22:53
















          0














          Are you using something like this?



          // Reactive Form

          constructor(private _builder:FormBuilder) {
          this.createForm();
          }

          createForm() {
          this.form = this._builder.group({
          key: this.value,
          });
          }

          // Option 1
          resetForm() {
          this.form.reset();
          }

          // Option 2 - create form again
          resetForm() {
          this.createForm()
          }

          // Template Form

          ---- HTML ----
          <form #myForm="ngForm"></form>

          ---- TS ----
          @ViewChild('myForm') myForm;

          resetForm() {
          if (this.myForm) {
          this.myForm.reset();
          }
          }





          share|improve this answer
























          • Thanks for your suggestion Mishal. The first answer worked for me.

            – Roni Axelrad
            Nov 25 '18 at 22:53














          0












          0








          0







          Are you using something like this?



          // Reactive Form

          constructor(private _builder:FormBuilder) {
          this.createForm();
          }

          createForm() {
          this.form = this._builder.group({
          key: this.value,
          });
          }

          // Option 1
          resetForm() {
          this.form.reset();
          }

          // Option 2 - create form again
          resetForm() {
          this.createForm()
          }

          // Template Form

          ---- HTML ----
          <form #myForm="ngForm"></form>

          ---- TS ----
          @ViewChild('myForm') myForm;

          resetForm() {
          if (this.myForm) {
          this.myForm.reset();
          }
          }





          share|improve this answer













          Are you using something like this?



          // Reactive Form

          constructor(private _builder:FormBuilder) {
          this.createForm();
          }

          createForm() {
          this.form = this._builder.group({
          key: this.value,
          });
          }

          // Option 1
          resetForm() {
          this.form.reset();
          }

          // Option 2 - create form again
          resetForm() {
          this.createForm()
          }

          // Template Form

          ---- HTML ----
          <form #myForm="ngForm"></form>

          ---- TS ----
          @ViewChild('myForm') myForm;

          resetForm() {
          if (this.myForm) {
          this.myForm.reset();
          }
          }






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 25 '18 at 22:17









          MishalMishal

          12




          12













          • Thanks for your suggestion Mishal. The first answer worked for me.

            – Roni Axelrad
            Nov 25 '18 at 22:53



















          • Thanks for your suggestion Mishal. The first answer worked for me.

            – Roni Axelrad
            Nov 25 '18 at 22:53

















          Thanks for your suggestion Mishal. The first answer worked for me.

          – Roni Axelrad
          Nov 25 '18 at 22:53





          Thanks for your suggestion Mishal. The first answer worked for me.

          – Roni Axelrad
          Nov 25 '18 at 22:53


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53472222%2fangular-validation-messages-appears-after-reset-form%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wiesbaden

          Marschland

          Dieringhausen