An advanced money mask input for Yii 2.0 based on jquery maskmoney plugin styled for Bootstrap 3.
This extension has been replaced with the yii2-number extension since Jan 2018. This extension will not be enhanced further or supported. Recommend to head over to yii2-number extension docs and demos for enhanced number management functionality for Yii2.
An advanced money mask input for Yii Framework 2 based on jQuery-maskMoney plugin. The plugin offers a simple way to create masks to your currency form fields. The yii2-money extension includes these additional enhancements in order to use the maskMoney plugin effectively:
- default styling for Bootstrap 3 and supports Yii Active Field validations
- automatically read a float/decimal and convert it to the money format on field load
- automatically convert back the field to a float/decimal for saving once the mask is changed (maintains an internal hidden field)
- allows global settings of the mask money plugin options via
You can see detailed documentation on usage of the extension.
The latest version of the extension is release v1.2.2. Refer the CHANGE LOG for details of various releases.
The preferred way to install this extension is through composer.
$ php composer.phar require kartik-v/yii2-money "dev-master"
require section of your
You can globally set the plugin options for your money format across the application in the params section of your Yii configuration file. You
need to set the
maskMoneyOptions in your Yii application params. For example:
'params' => [ 'maskMoneyOptions' => [ 'prefix' => 'US$ ', 'suffix' => ' c', 'affixesStay' => true, 'thousands' => ',', 'decimal' => '.', 'precision' => 2, 'allowZero' => false, 'allowNegative' => false, ] ]
If you have not setup params like above, the plugin will default the
Yii::$app->formatter settings in your configuration file.
'components' => [ 'formatter' => [ 'class' => 'yii\i18n\formatter', 'thousandSeparator' => ',', 'decimalSeparator' => '.', ] ]
You can configure the widget as shown below. Any plugin option not passed, will be defaulted from the above two sections (params and formatter).
Note that properties directly set in
pluginOptions at the widget level as shown below, will override other global settings.
use kartik\money\MaskMoney; echo MaskMoney::widget([ 'name' => 'currency', 'value' => 122423.18, 'pluginOptions' => [ 'prefix' => '$ ', ], ]);
yii2-money is released under the BSD 3-Clause License. See the bundled
LICENSE.md for details.