Model revalidates when attributes changed.

Consider the following situation.

```php
$user->first_name = 'Luke';
$user->last_name = 'Skywalker';
$user->validate();  // The force is strong with this one... (It's true)
```

Now let's say we changed the name of our model.

```php
$user->first_name = 'Anakin';
$user->validate(); // We don't like the dark side here... (This name isn't allowed)
```

Previously, the `valid` flag in the model was never updated when attributes are changed.  So the above code would have passed.  However, now it won't allow it to go through.

A model can be validated and then changed.  We can call `validate()` on it again or call `save()` and it will automatically be revalidated, making sure only good data enters the database!