diff --git a/aio/content/guide/form-validation.md b/aio/content/guide/form-validation.md index 5d157811fc..f4c0a905e0 100644 --- a/aio/content/guide/form-validation.md +++ b/aio/content/guide/form-validation.md @@ -64,7 +64,7 @@ This gives you a reference to the Angular `NgModel` directive associated with this control that you can use _in the template_ to check for control states such as `valid` and `dirty`. -* The `*ngIf` on the `
` element reveals a set of nested message `divs` +* The `*ngIf` on the `
` element reveals a set of nested message `divs` but only if there are `name` errors and the control is either `dirty` or `touched`. @@ -321,7 +321,7 @@ This allows you to do the following: * Add, change, and remove validation functions on the fly. * Manipulate the control model dynamically from within the component. -* [Test](guide/form-validation#testing) validation and control logic with isolated unit tests. +* [Test](guide/form-validation#testing-considerations) validation and control logic with isolated unit tests. The following sample re-writes the hero form in Reactive Forms style. @@ -386,7 +386,7 @@ but rather for css styling and accessibility.
-Currently, Reactive Forms doesn't add the `required` or `aria-required` +Currently, Reactive Forms doesn't add the `required` or `aria-required` HTML validation attribute to the DOM element when the control has the `required` validator function. @@ -455,12 +455,12 @@ to set error messages for the new control model. ## Built-in validators -Angular forms include a number of built-in validator functions, which are functions -that help you check common user input in forms. In addition to the built-in -validators covered here of `minlength`, `maxlength`, -and `required`, there are others such as `email` and `pattern` -for Reactive Forms. -For a full list of built-in validators, +Angular forms include a number of built-in validator functions, which are functions +that help you check common user input in forms. In addition to the built-in +validators covered here of `minlength`, `maxlength`, +and `required`, there are others such as `email` and `pattern` +for Reactive Forms. +For a full list of built-in validators, see the [Validators](api/forms/Validators) API reference. @@ -486,7 +486,7 @@ Learn more about `FormBuilder` in the [Introduction to FormBuilder](guide/reacti #### Committing hero value changes In two-way data binding, the user's changes flow automatically from the controls back to the data model properties. -A Reactive Forms component should not use data binding to +A Reactive Forms component should not use data binding to automatically update data model properties. The developer decides _when and how_ to update the data model from control values. diff --git a/aio/content/guide/template-syntax.md b/aio/content/guide/template-syntax.md index d05a594230..4d0c118838 100644 --- a/aio/content/guide/template-syntax.md +++ b/aio/content/guide/template-syntax.md @@ -12,8 +12,8 @@ component class instance (the *component*) and its user-facing template. You may be familiar with the component/template duality from your experience with model-view-controller (MVC) or model-view-viewmodel (MVVM). In Angular, the component plays the part of the controller/viewmodel, and the template represents the view. -This page is a comprehensive technical reference to the Angular template language. -It explains basic principles of the template language and describes most of the syntax that you'll encounter elsewhere in the documentation. +This page is a comprehensive technical reference to the Angular template language. +It explains basic principles of the template language and describes most of the syntax that you'll encounter elsewhere in the documentation. Many code snippets illustrate the points and concepts, all of them available in the . @@ -1947,12 +1947,12 @@ As of Typescript 2.0, you can enforce [strict null checking](http://www.typescri In this mode, typed variables disallow null and undefined by default. The type checker throws an error if you leave a variable unassigned or try to assign null or undefined to a variable whose type disallows null and undefined. -The type checker also throws an error if it can't determine whether a variable will be null or undefined at runtime. -You may know that can't happen but the type checker doesn't know. +The type checker also throws an error if it can't determine whether a variable will be null or undefined at runtime. +You may know that can't happen but the type checker doesn't know. You tell the type checker that it can't happen by applying the post-fix -[_non-null assertion operator (!)_]((http://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html#non-null-assertion-operator "Non-null assertion operator"). +[_non-null assertion operator (!)_](http://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html#non-null-assertion-operator "Non-null assertion operator"). -The _Angular_ **non-null assertion operator (`!`)** serves the same purpose in an Angular template. +The _Angular_ **non-null assertion operator (`!`)** serves the same purpose in an Angular template. For example, after you use [*ngIf](guide/template-syntax#ngIf) to check that `hero` is defined, you can assert that `hero` properties are also defined.