})
export class MonetaryComponent extends AbstractInputComponent<string> {
public currency: string = ''
- public monetaryValue: string = ''
+
+ public _monetaryValue: string = ''
+ public get monetaryValue(): string {
+ return this._monetaryValue
+ }
+ public set monetaryValue(value: string) {
+ if (value) this._monetaryValue = value
+ }
+
defaultCurrencyCode: string
constructor(@Inject(LOCALE_ID) currentLocale: string) {
except Exception:
# If that fails, try to validate as a monetary string
RegexValidator(
- regex=r"^[A-Z]{3}-?\d+(\.\d{2,2})$",
+ regex=r"^[A-Z]{3}-?\d+(\.\d{1,2})$",
message="Must be a two-decimal number with optional currency code e.g. GBP123.45",
)(data["value"])
elif field.data_type == CustomField.FieldDataType.STRING:
self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
- resp = self.client.patch(
- f"/api/documents/{doc.id}/",
- data={
- "custom_fields": [
- {
- "field": custom_field_money.id,
- # Too few places past decimal
- "value": "GBP12.1",
- },
- ],
- },
- format="json",
- )
-
- self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
-
resp = self.client.patch(
f"/api/documents/{doc.id}/",
data={