added addConstraint, updateConstraint and removeConstraint API to dynamically update fields constraints on the fly. Closes #52