mileage, km:

date:

mileage in meters, date as timestamp
HTML code and data mappers

HTML

<p>
  mileage, km:<br />
  <input type='text' class='wide form-control' name="mileage" data-map="mileageMap" value="1.3">
</p>
<p>
  date:<br />
  <input type='text' class='wide form-control' name="date" data-map="dateMap" value="01.05.2014">
</p>
		

JavaScript, data mappers

dateMap = function(val,mode){
  if(mode === 'set'){
    if ('number' !== typeof val) throw new Error('Time to set must be a number');
    return (new Date(val)).format('dd.mm.yyyy');
  }else{
    if (!/^\d\d\.\d\d\.\d\d\d\d$/.test(val))throw new Error('Wrong date string format');
    return mk.u.makedate(val).getTime();
  }
};


mileageMap = function(val,mode){
  if (!/^\d+\.{0,1}\d+$/.test(val))throw new Error('milage is not a number');
  if(mode === 'set'){
    return val/1000;
  }else{
    return val*1000;
  }
};
		

Error handling

Type letters in fields "mileage" and "date" at form above and press "get >"

When you set data to DOM, errors does not handled special way. Because program is a source of data and responsible for their consistency. But when you read data, source of data is a user with no any guarantee of filling inputs right way. Checking data lies on your mappers. If exceptions occurs inside mappers during data acquiring, databridge catches all of it and keeps in errors list. Value of faulty input stay unmapped. You can get list of errors by the command $(.form).databridge('errors').

var data = $(.form).databridge();
var errors = $(.form).databridge('errors');
if(errors){console.error(errors);}

Error list is an array of errors. Every error contains fields: