edit operation, validation