Add Save Observation button that creates a new observation or updates an existing observation.
Add skeleton for form validation that occurs before a save/update.
Move validation into MeasurementView. Disable save button when errors exists. Add error count below submit button. Add modal dialog for successful save, and link to observatory page.
Add method that creates the save button into initialize on observationView.
ObservationView is no longer using Validate, validation was added to MeasurementView.
Update help text. Include validation for null/ blank values. Add server side validation to ensure an observatory id is present.
Update validation to store validation error properties in the Measurement model. Update ObservationView to handle button disabling and error reporting. Separate validation handling for time and angle values, so that model updates happen separately.
Wrapped lines above 80 chars. removed commented code.
Remove default values when reading values from input fields. This allows for validation on null values. Also, only update measurement values if they change.
Update observation begin time in tests so that time values will consistently be after or before the start time.
Fix whitespace issue.
Removed unused variable. Removed .only declaration from test.
Removed the timeToString and stringToTime methods, these are in the formatter class now.
Update blur event to a HTMLEvent, and initEvent.
Update validation on MeasurementView. Create a separate method for time change and angle change.  Only update the measurement model when either the angle or time error value changes, not when a degree, minute, second value error changes.
Update error reporting on ObservationView to use actual error messages instead of aggregating all errors into a count.
Update tests involving time so that they will work on each new day.
Removed unused code. This code is not implemented and tested as part of Formatter.
Simplify code, set value to false instead of calling validate method again.
Update MeasurementView validation so that the Measurement model is only updated once on an input change.